diff --git a/netbox/dcim/views.py b/netbox/dcim/views.py
index 728888e5a..bdfa5129d 100644
--- a/netbox/dcim/views.py
+++ b/netbox/dcim/views.py
@@ -1587,11 +1587,6 @@ class ConsolePortListView(generic.ObjectListView):
class ConsolePortView(generic.ObjectView):
queryset = ConsolePort.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_consoleports'
- }
-
class ConsolePortCreateView(generic.ComponentCreateView):
queryset = ConsolePort.objects.all()
@@ -1652,11 +1647,6 @@ class ConsoleServerPortListView(generic.ObjectListView):
class ConsoleServerPortView(generic.ObjectView):
queryset = ConsoleServerPort.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_consoleserverports'
- }
-
class ConsoleServerPortCreateView(generic.ComponentCreateView):
queryset = ConsoleServerPort.objects.all()
@@ -1717,11 +1707,6 @@ class PowerPortListView(generic.ObjectListView):
class PowerPortView(generic.ObjectView):
queryset = PowerPort.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_powerports'
- }
-
class PowerPortCreateView(generic.ComponentCreateView):
queryset = PowerPort.objects.all()
@@ -1782,11 +1767,6 @@ class PowerOutletListView(generic.ObjectListView):
class PowerOutletView(generic.ObjectView):
queryset = PowerOutlet.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_poweroutlets'
- }
-
class PowerOutletCreateView(generic.ComponentCreateView):
queryset = PowerOutlet.objects.all()
@@ -1880,7 +1860,6 @@ class InterfaceView(generic.ObjectView):
'ipaddress_table': ipaddress_table,
'child_interfaces_table': child_interfaces_tables,
'vlan_table': vlan_table,
- 'breadcrumb_url': 'dcim:device_interfaces'
}
@@ -1943,11 +1922,6 @@ class FrontPortListView(generic.ObjectListView):
class FrontPortView(generic.ObjectView):
queryset = FrontPort.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_frontports'
- }
-
class FrontPortCreateView(generic.ComponentCreateView):
queryset = FrontPort.objects.all()
@@ -2008,11 +1982,6 @@ class RearPortListView(generic.ObjectListView):
class RearPortView(generic.ObjectView):
queryset = RearPort.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_rearports'
- }
-
class RearPortCreateView(generic.ComponentCreateView):
queryset = RearPort.objects.all()
@@ -2073,11 +2042,6 @@ class DeviceBayListView(generic.ObjectListView):
class DeviceBayView(generic.ObjectView):
queryset = DeviceBay.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_devicebays'
- }
-
class DeviceBayCreateView(generic.ComponentCreateView):
queryset = DeviceBay.objects.all()
@@ -2199,11 +2163,6 @@ class InventoryItemListView(generic.ObjectListView):
class InventoryItemView(generic.ObjectView):
queryset = InventoryItem.objects.all()
- def get_extra_context(self, request, instance):
- return {
- 'breadcrumb_url': 'dcim:device_inventory'
- }
-
class InventoryItemEditView(generic.ObjectEditView):
queryset = InventoryItem.objects.all()
diff --git a/netbox/templates/dcim/consoleport.html b/netbox/templates/dcim/consoleport.html
index ce251670b..afc34651d 100644
--- a/netbox/templates/dcim/consoleport.html
+++ b/netbox/templates/dcim/consoleport.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Console Ports
+ {{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/consoleserverport.html b/netbox/templates/dcim/consoleserverport.html
index 69071c937..96dfa5761 100644
--- a/netbox/templates/dcim/consoleserverport.html
+++ b/netbox/templates/dcim/consoleserverport.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Console Server Ports
+
{{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/device_component.html b/netbox/templates/dcim/device_component.html
index a615092b9..1a3d0de4a 100644
--- a/netbox/templates/dcim/device_component.html
+++ b/netbox/templates/dcim/device_component.html
@@ -9,8 +9,4 @@
{% block breadcrumbs %}
Devices
{{ object.device }}
- {% if breadcrumb_url %}
-
{{ object|meta:"verbose_name_plural"|bettertitle }}
- {% endif %}
-
{{ object }}
{% endblock %}
diff --git a/netbox/templates/dcim/devicebay.html b/netbox/templates/dcim/devicebay.html
index 13b019812..18da55ac0 100644
--- a/netbox/templates/dcim/devicebay.html
+++ b/netbox/templates/dcim/devicebay.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Device Bays
+
{{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/frontport.html b/netbox/templates/dcim/frontport.html
index 5a84889ab..28e5c160c 100644
--- a/netbox/templates/dcim/frontport.html
+++ b/netbox/templates/dcim/frontport.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Front Ports
+
{{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/interface.html b/netbox/templates/dcim/interface.html
index b85dafb4b..d897b9fa6 100644
--- a/netbox/templates/dcim/interface.html
+++ b/netbox/templates/dcim/interface.html
@@ -3,6 +3,12 @@
{% load plugins %}
{% load render_table from django_tables2 %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Interfaces
+
{{ object }}
+{% endblock %}
+
{% block buttons %}
{% if perms.dcim.add_interface and not object.is_virtual %}
diff --git a/netbox/templates/dcim/inventoryitem.html b/netbox/templates/dcim/inventoryitem.html
index 6eec7f434..35aace971 100644
--- a/netbox/templates/dcim/inventoryitem.html
+++ b/netbox/templates/dcim/inventoryitem.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+ Inventory Items
+ {{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/location.html b/netbox/templates/dcim/location.html
index 8fc465a6b..0371eeef4 100644
--- a/netbox/templates/dcim/location.html
+++ b/netbox/templates/dcim/location.html
@@ -3,7 +3,7 @@
{% load plugins %}
{% block breadcrumbs %}
-
Location
+
Locations
{% for location in object.get_ancestors %}
{{ location }}
{% endfor %}
diff --git a/netbox/templates/dcim/poweroutlet.html b/netbox/templates/dcim/poweroutlet.html
index e76f067b1..9a11628c8 100644
--- a/netbox/templates/dcim/poweroutlet.html
+++ b/netbox/templates/dcim/poweroutlet.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Power Outlets
+
{{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/powerport.html b/netbox/templates/dcim/powerport.html
index 635251b0d..1a7cc24e7 100644
--- a/netbox/templates/dcim/powerport.html
+++ b/netbox/templates/dcim/powerport.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Power Ports
+
{{ object }}
+{% endblock %}
+
{% block content %}
diff --git a/netbox/templates/dcim/rearport.html b/netbox/templates/dcim/rearport.html
index 01eb0e9e6..eb9452a0c 100644
--- a/netbox/templates/dcim/rearport.html
+++ b/netbox/templates/dcim/rearport.html
@@ -2,6 +2,12 @@
{% load helpers %}
{% load plugins %}
+{% block breadcrumbs %}
+ {{ block.super }}
+
Rear Ports
+
{{ object }}
+{% endblock %}
+
{% block content %}