Custom link can create a server error if attribute not exist #2700

Closed
opened 2025-12-29 18:21:11 +01:00 by adam · 2 comments
Owner

Originally created by @shugotek on GitHub (Jun 26, 2019).

Environment

  • Python version: 3.6.7
  • NetBox version: 2.6.1

Steps to Reproduce

1.Create a custom link (for exemple on all device with url https://{{ obj.primary_ip.address.ip }}
2.Go on device who don't have a primary IP, receive error :

Expected Behavior

Don't have custom link on device without Primary IP

Observed Behavior

Error message :
<class 'jinja2.exceptions.UndefinedError'>

'None' has no attribute 'address'

Originally created by @shugotek on GitHub (Jun 26, 2019). <!-- NOTE: This form is only for reproducible bugs. If you need assistance with NetBox installation, or if you have a general question, DO NOT open an issue. Instead, post to our mailing list: https://groups.google.com/forum/#!forum/netbox-discuss Please describe the environment in which you are running NetBox. Be sure that you are running an unmodified instance of the latest stable release before submitting a bug report. --> ### Environment * Python version: 3.6.7 * NetBox version: 2.6.1 <!-- Describe in detail the exact steps that someone else can take to reproduce this bug using the current stable release of NetBox (or the current beta release where applicable). Begin with the creation of any necessary database objects and call out every operation being performed explicitly. If reporting a bug in the REST API, be sure to reconstruct the raw HTTP request(s) being made: Don't rely on a wrapper like pynetbox. --> ### Steps to Reproduce 1.Create a custom link (for exemple on all device with url https://{{ obj.primary_ip.address.ip }} 2.Go on device who don't have a primary IP, receive error : <!-- What did you expect to happen? --> ### Expected Behavior Don't have custom link on device without Primary IP <!-- What happened instead? --> ### Observed Behavior Error message : <class 'jinja2.exceptions.UndefinedError'> 'None' has no attribute 'address'
adam closed this issue 2025-12-29 18:21:11 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jun 26, 2019):

The error is expected: Your template code needs to account for this. Wrap the line in a conditional statement:

{% if obj.primary_ip %}https://{{ obj.primary_ip.address.ip }}{% endif %}
@jeremystretch commented on GitHub (Jun 26, 2019): The error is expected: Your template code needs to account for this. Wrap the line in a conditional statement: ``` {% if obj.primary_ip %}https://{{ obj.primary_ip.address.ip }}{% endif %} ```
Author
Owner

@candlerb commented on GitHub (Aug 28, 2019):

Related feature request: #3461

@candlerb commented on GitHub (Aug 28, 2019): Related feature request: #3461
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2700