nautobot 2.4.16__py3-none-any.whl → 2.4.17__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (370) hide show
  1. nautobot/apps/utils.py +2 -0
  2. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +3 -3
  3. nautobot/cloud/views.py +7 -0
  4. nautobot/core/apps/__init__.py +1 -0
  5. nautobot/core/celery/__init__.py +2 -1
  6. nautobot/core/templates/components/panel/panel.html +1 -1
  7. nautobot/core/templates/inc/paginator.html +3 -3
  8. nautobot/core/templates/inc/table.html +2 -2
  9. nautobot/core/templatetags/helpers.py +80 -6
  10. nautobot/core/testing/mixins.py +1 -1
  11. nautobot/core/testing/views.py +2 -4
  12. nautobot/core/ui/bulk_buttons.py +53 -53
  13. nautobot/core/ui/object_detail.py +9 -4
  14. nautobot/core/utils/data.py +13 -0
  15. nautobot/core/utils/deprecation.py +2 -0
  16. nautobot/dcim/migrations/0073_alter_powerport_power_factor_and_more.py +41 -0
  17. nautobot/dcim/models/device_component_templates.py +4 -2
  18. nautobot/dcim/models/device_components.py +3 -2
  19. nautobot/dcim/templates/dcim/rack_elevation_list.html +4 -4
  20. nautobot/dcim/views.py +9 -0
  21. nautobot/extras/models/customfields.py +45 -9
  22. nautobot/extras/templates/extras/configcontext_retrieve.html +1 -1
  23. nautobot/extras/templates/extras/configcontext_update.html +49 -49
  24. nautobot/extras/templates/extras/configcontextschema_retrieve.html +47 -47
  25. nautobot/extras/templates/extras/configcontextschema_update.html +18 -18
  26. nautobot/extras/templates/extras/inc/job_table.html +1 -1
  27. nautobot/extras/templates/extras/inc/object_contact_header.html +2 -2
  28. nautobot/extras/templates/extras/note_retrieve.html +53 -53
  29. nautobot/extras/templates/extras/tag_retrieve.html +1 -1
  30. nautobot/extras/templates/extras/tag_update.html +14 -14
  31. nautobot/extras/templates/extras/team_retrieve.html +1 -1
  32. nautobot/extras/tests/test_models.py +216 -0
  33. nautobot/extras/tests/test_views.py +2 -2
  34. nautobot/extras/views.py +1 -0
  35. nautobot/ipam/apps.py +1 -0
  36. nautobot/ipam/jobs/__init__.py +10 -0
  37. nautobot/ipam/jobs/cleanup.py +296 -0
  38. nautobot/ipam/models.py +301 -178
  39. nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +3 -3
  40. nautobot/ipam/templates/ipam/inc/toggle_available.html +2 -2
  41. nautobot/ipam/templates/ipam/ipaddress_assign.html +1 -1
  42. nautobot/ipam/templates/ipam/prefix_list.html +1 -1
  43. nautobot/ipam/templates/ipam/vlan_retrieve.html +1 -77
  44. nautobot/ipam/tests/test_jobs.py +454 -0
  45. nautobot/ipam/tests/test_models.py +290 -122
  46. nautobot/ipam/tests/test_views.py +40 -164
  47. nautobot/ipam/urls.py +0 -11
  48. nautobot/ipam/utils/testing.py +9 -4
  49. nautobot/ipam/views.py +166 -235
  50. nautobot/project-static/docs/404.html +9 -6
  51. nautobot/project-static/docs/apps/index.html +9 -6
  52. nautobot/project-static/docs/apps/nautobot-apps.html +9 -6
  53. nautobot/project-static/docs/assets/javascripts/bundle.92b07e13.min.js +16 -0
  54. nautobot/project-static/docs/assets/javascripts/{bundle.50899def.min.js.map → bundle.92b07e13.min.js.map} +2 -2
  55. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js → search.973d3a69.min.js} +4 -4
  56. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js.map → search.973d3a69.min.js.map} +1 -1
  57. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +9 -6
  58. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +9 -6
  59. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +9 -6
  60. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +9 -6
  61. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +10 -7
  62. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +9 -6
  63. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +9 -6
  64. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +9 -6
  65. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9 -6
  66. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +9 -6
  67. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +9 -6
  68. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +9 -6
  69. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +9 -6
  70. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +9 -6
  71. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +9 -6
  72. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +11 -8
  73. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +9 -6
  74. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +9 -6
  75. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +11 -8
  76. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +9 -6
  77. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +28 -9
  78. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +9 -6
  79. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +69 -7
  80. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +9 -6
  81. nautobot/project-static/docs/development/apps/api/configuration-view.html +13 -10
  82. nautobot/project-static/docs/development/apps/api/database-backend-config.html +11 -8
  83. nautobot/project-static/docs/development/apps/api/models/django-admin.html +13 -10
  84. nautobot/project-static/docs/development/apps/api/models/global-search.html +10 -7
  85. nautobot/project-static/docs/development/apps/api/models/graphql.html +18 -15
  86. nautobot/project-static/docs/development/apps/api/models/index.html +14 -11
  87. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +11 -8
  88. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +15 -12
  89. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +9 -6
  90. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +15 -12
  91. nautobot/project-static/docs/development/apps/api/platform-features/index.html +9 -6
  92. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +11 -8
  93. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +16 -13
  94. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +12 -10305
  95. nautobot/project-static/docs/development/apps/api/platform-features/prepopulating-data.html +10722 -0
  96. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +15 -12
  97. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +14 -11
  98. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +9 -6
  99. nautobot/project-static/docs/development/apps/api/prometheus.html +15 -12
  100. nautobot/project-static/docs/development/apps/api/setup.html +9 -6
  101. nautobot/project-static/docs/development/apps/api/testing.html +9 -6
  102. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +12 -9
  103. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +9 -6
  104. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +9 -6
  105. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +9 -6
  106. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +20 -17
  107. nautobot/project-static/docs/development/apps/api/views/base-template.html +9 -6
  108. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +15 -12
  109. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +14 -11
  110. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +9 -6
  111. nautobot/project-static/docs/development/apps/api/views/index.html +9 -6
  112. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +10 -7
  113. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +24 -21
  114. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +12 -9
  115. nautobot/project-static/docs/development/apps/api/views/notes.html +10 -7
  116. nautobot/project-static/docs/development/apps/api/views/rest-api.html +19 -16
  117. nautobot/project-static/docs/development/apps/api/views/urls.html +11 -8
  118. nautobot/project-static/docs/development/apps/index.html +9 -6
  119. nautobot/project-static/docs/development/apps/migration/code-updates.html +19 -16
  120. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +9 -6
  121. nautobot/project-static/docs/development/apps/migration/from-v1.html +9 -6
  122. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +22 -19
  123. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +9 -6
  124. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +9 -6
  125. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +9 -6
  126. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9 -6
  127. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +14 -11
  128. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +27 -24
  129. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +20 -17
  130. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +20 -17
  131. nautobot/project-static/docs/development/apps/porting-from-netbox.html +9 -6
  132. nautobot/project-static/docs/development/core/application-registry.html +23 -20
  133. nautobot/project-static/docs/development/core/best-practices.html +23 -20
  134. nautobot/project-static/docs/development/core/bootstrap-ui.html +9 -6
  135. nautobot/project-static/docs/development/core/caching.html +9 -6
  136. nautobot/project-static/docs/development/core/controllers.html +9 -6
  137. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +10 -7
  138. nautobot/project-static/docs/development/core/generic-views.html +9 -6
  139. nautobot/project-static/docs/development/core/getting-started.html +9 -6
  140. nautobot/project-static/docs/development/core/homepage.html +12 -9
  141. nautobot/project-static/docs/development/core/index.html +9 -6
  142. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9 -6
  143. nautobot/project-static/docs/development/core/model-checklist.html +9 -6
  144. nautobot/project-static/docs/development/core/model-features.html +11 -8
  145. nautobot/project-static/docs/development/core/natural-keys.html +21 -18
  146. nautobot/project-static/docs/development/core/navigation-menu.html +10 -7
  147. nautobot/project-static/docs/development/core/release-checklist.html +9 -6
  148. nautobot/project-static/docs/development/core/role-internals.html +9 -6
  149. nautobot/project-static/docs/development/core/settings.html +9 -6
  150. nautobot/project-static/docs/development/core/style-guide.html +32 -29
  151. nautobot/project-static/docs/development/core/templates.html +9 -6
  152. nautobot/project-static/docs/development/core/testing.html +10 -7
  153. nautobot/project-static/docs/development/core/ui-component-framework.html +36 -33
  154. nautobot/project-static/docs/development/core/user-preferences.html +9 -6
  155. nautobot/project-static/docs/development/index.html +9 -6
  156. nautobot/project-static/docs/development/jobs/getting-started.html +13 -10
  157. nautobot/project-static/docs/development/jobs/index.html +9 -6
  158. nautobot/project-static/docs/development/jobs/installation.html +23 -20
  159. nautobot/project-static/docs/development/jobs/job-extensions.html +25 -22
  160. nautobot/project-static/docs/development/jobs/job-logging.html +12 -9
  161. nautobot/project-static/docs/development/jobs/job-patterns.html +45 -42
  162. nautobot/project-static/docs/development/jobs/job-structure.html +53 -50
  163. nautobot/project-static/docs/development/jobs/migration/from-v1.html +23 -20
  164. nautobot/project-static/docs/development/jobs/testing.html +14 -11
  165. nautobot/project-static/docs/index.html +9 -6
  166. nautobot/project-static/docs/objects.inv +0 -0
  167. nautobot/project-static/docs/overview/application_stack.html +9 -6
  168. nautobot/project-static/docs/overview/design_philosophy.html +9 -6
  169. nautobot/project-static/docs/release-notes/index.html +9 -6
  170. nautobot/project-static/docs/release-notes/version-1.0.html +9 -6
  171. nautobot/project-static/docs/release-notes/version-1.1.html +9 -6
  172. nautobot/project-static/docs/release-notes/version-1.2.html +10 -7
  173. nautobot/project-static/docs/release-notes/version-1.3.html +9 -6
  174. nautobot/project-static/docs/release-notes/version-1.4.html +9 -6
  175. nautobot/project-static/docs/release-notes/version-1.5.html +13 -10
  176. nautobot/project-static/docs/release-notes/version-1.6.html +9 -6
  177. nautobot/project-static/docs/release-notes/version-2.0.html +9 -6
  178. nautobot/project-static/docs/release-notes/version-2.1.html +9 -6
  179. nautobot/project-static/docs/release-notes/version-2.2.html +9 -6
  180. nautobot/project-static/docs/release-notes/version-2.3.html +9 -6
  181. nautobot/project-static/docs/release-notes/version-2.4.html +267 -6
  182. nautobot/project-static/docs/requirements.txt +2 -2
  183. nautobot/project-static/docs/search/search_index.json +1 -1
  184. nautobot/project-static/docs/sitemap.xml +301 -301
  185. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  186. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +15 -12
  187. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +9 -6
  188. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +16 -13
  189. nautobot/project-static/docs/user-guide/administration/configuration/index.html +9 -6
  190. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +9 -6
  191. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +11 -8
  192. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +9 -6
  193. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +9 -6
  194. nautobot/project-static/docs/user-guide/administration/guides/docker.html +9 -6
  195. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +9 -6
  196. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +9 -6
  197. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +9 -6
  198. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +9 -6
  199. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +9 -6
  200. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +16 -13
  201. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +9 -6
  202. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +9 -6
  203. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +9 -6
  204. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +9 -6
  205. nautobot/project-static/docs/user-guide/administration/installation/index.html +9 -6
  206. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +9 -6
  207. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +9 -6
  208. nautobot/project-static/docs/user-guide/administration/installation/services.html +12 -9
  209. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +13 -10
  210. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +10 -7
  211. nautobot/project-static/docs/user-guide/administration/security/index.html +9 -6
  212. nautobot/project-static/docs/user-guide/administration/security/notices.html +9 -6
  213. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +9 -6
  214. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +10 -7
  215. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +9 -6
  216. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +9 -6
  217. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +9 -6
  218. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +9 -6
  219. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +9 -6
  220. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +9 -6
  221. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +9 -6
  222. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +15 -12
  223. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +9 -6
  224. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +9 -6
  225. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +9 -6
  226. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +9 -6
  227. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +9 -6
  228. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +9 -6
  229. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +9 -6
  230. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +9 -6
  231. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +9 -6
  232. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +9 -6
  233. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +9 -6
  234. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +9 -6
  235. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +9 -6
  236. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +9 -6
  237. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +9 -6
  238. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +9 -6
  239. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +9 -6
  240. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +9 -6
  241. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +9 -6
  242. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +9 -6
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +9 -6
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +9 -6
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +9 -6
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +9 -6
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +13 -10
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +9 -6
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +9 -6
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +9 -6
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +9 -6
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +9 -6
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +9 -6
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +9 -6
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +9 -6
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +9 -6
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +9 -6
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +9 -6
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +9 -6
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +9 -6
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +9 -6
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +9 -6
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +9 -6
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +9 -6
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +9 -6
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +9 -6
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +9 -6
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +9 -6
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +9 -6
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +9 -6
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +9 -6
  272. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +9 -6
  273. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +9 -6
  274. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +9 -6
  275. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +9 -6
  276. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +9 -6
  277. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +9 -6
  278. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9 -6
  279. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +9 -6
  280. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +9 -6
  281. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +11 -8
  282. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +11 -8
  283. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +41 -41
  284. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +9 -6
  285. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +197 -54
  286. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +9 -6
  287. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +9 -6
  288. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +9 -6
  289. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +9 -6
  290. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +9 -6
  291. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +9 -6
  292. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +9 -6
  293. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +9 -6
  294. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +9 -6
  295. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +9 -6
  296. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +9 -6
  297. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +9 -6
  298. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +9 -6
  299. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +9 -6
  300. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9 -6
  301. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9 -6
  302. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9 -6
  303. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9 -6
  304. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +9 -6
  305. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +9 -6
  306. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +9 -6
  307. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +9 -6
  308. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +9 -6
  309. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +9 -6
  310. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +9 -6
  311. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +9 -6
  312. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +9 -6
  313. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +9 -6
  314. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +9 -6
  315. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +9 -6
  316. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +13 -10
  317. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +9 -6
  318. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +9 -6
  319. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +9 -6
  320. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9 -6
  321. nautobot/project-static/docs/user-guide/index.html +9 -6
  322. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +9 -6
  323. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +9 -6
  324. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +10 -7
  325. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +9 -6
  326. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +9 -6
  327. nautobot/project-static/docs/user-guide/platform-functionality/events.html +11 -8
  328. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +9 -6
  329. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +9 -6
  330. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +9 -6
  331. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +9 -6
  332. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +9 -6
  333. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +9 -6
  334. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +9 -6
  335. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +9 -6
  336. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +9 -6
  337. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +9 -6
  338. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9 -6
  339. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9 -6
  340. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +9 -6
  341. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +9 -6
  342. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +9 -6
  343. nautobot/project-static/docs/user-guide/platform-functionality/note.html +9 -6
  344. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +12 -9
  345. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +9 -6
  346. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9 -6
  347. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +9 -6
  348. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +9 -6
  349. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +9 -6
  350. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +9 -6
  351. nautobot/project-static/docs/user-guide/platform-functionality/role.html +9 -6
  352. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9 -6
  353. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +11 -8
  354. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +9 -6
  355. nautobot/project-static/docs/user-guide/platform-functionality/status.html +9 -6
  356. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +9 -6
  357. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +9 -6
  358. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +9 -6
  359. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +9 -6
  360. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +9 -6
  361. nautobot/project-static/fonts/UFL.txt +96 -96
  362. nautobot/project-static/js/forms.js +35 -2
  363. nautobot/virtualization/filters.py +7 -0
  364. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/METADATA +6 -6
  365. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/RECORD +369 -364
  366. nautobot/project-static/docs/assets/javascripts/bundle.50899def.min.js +0 -16
  367. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/LICENSE.txt +0 -0
  368. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/NOTICE +0 -0
  369. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/WHEEL +0 -0
  370. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -18418,10 +18420,10 @@ the display text and the weight defines its position in the navbar.</p>
18418
18420
  <p>Base class for UI framework definition of the contents of an Object Detail (Object Retrieve) page.</p>
18419
18421
  <p>This currently defines the tabs and their panel contents, but does NOT describe the page title, breadcrumbs, etc.</p>
18420
18422
  <p>Basic usage for a <code>NautobotUIViewSet</code> looks like:</p>
18421
- <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span> <span class="nn">nautobot.apps.ui</span> <span class="kn">import</span> <span class="n">ObjectDetailContent</span><span class="p">,</span> <span class="n">ObjectFieldsPanel</span><span class="p">,</span> <span class="n">SectionChoices</span>
18423
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.apps.ui</span><span class="w"> </span><span class="kn">import</span> <span class="n">ObjectDetailContent</span><span class="p">,</span> <span class="n">ObjectFieldsPanel</span><span class="p">,</span> <span class="n">SectionChoices</span>
18422
18424
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>
18423
18425
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
18424
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span> <span class="nc">MyModelUIViewSet</span><span class="p">(</span><span class="n">NautobotUIViewSet</span><span class="p">):</span>
18426
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">MyModelUIViewSet</span><span class="p">(</span><span class="n">NautobotUIViewSet</span><span class="p">):</span>
18425
18427
  <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> <span class="n">queryset</span> <span class="o">=</span> <span class="n">MyModel</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
18426
18428
  <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="n">object_detail_content</span> <span class="o">=</span> <span class="n">ObjectDetailContent</span><span class="p">(</span>
18427
18429
  <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="n">panels</span><span class="o">=</span><span class="p">[</span><span class="n">ObjectFieldsPanel</span><span class="p">(</span><span class="n">section</span><span class="o">=</span><span class="n">SectionChoices</span><span class="o">.</span><span class="n">LEFT_HALF</span><span class="p">,</span> <span class="n">weight</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="s2">&quot;__all__&quot;</span><span class="p">)],</span>
@@ -18982,7 +18984,7 @@ already configured in context and set the <code>context_table_key</code> or pass
18982
18984
 
18983
18985
 
18984
18986
  <h3 id="nautobot.apps.ui.ObjectsTablePanel.__init__" class="doc doc-heading">
18985
- <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">context_table_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_attribute</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">select_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">prefetch_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">order_by_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_title</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">max_display_count</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">paginate</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">show_table_config_button</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">include_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">exclude_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">add_button_route</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span> <span class="n">add_permissions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_hierarchy_ui</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">related_field_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enable_bulk_actions</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">tab_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_table.html&#39;</span><span class="p">,</span> <span class="n">body_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_content_objects_table.html&#39;</span><span class="p">,</span> <span class="n">header_extra_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/header_extra_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/footer_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_buttons</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">form_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
18987
+ <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">context_table_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_attribute</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">select_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">prefetch_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">order_by_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_title</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">max_display_count</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">paginate</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">show_table_config_button</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">include_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">exclude_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">add_button_route</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span> <span class="n">add_permissions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_hierarchy_ui</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">related_field_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enable_bulk_actions</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">tab_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_table.html&#39;</span><span class="p">,</span> <span class="n">body_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_content_objects_table.html&#39;</span><span class="p">,</span> <span class="n">header_extra_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/header_extra_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/footer_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_buttons</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">form_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">include_paginator</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
18986
18988
 
18987
18989
  <a href="#nautobot.apps.ui.ObjectsTablePanel.__init__" class="headerlink" title="Permanent link">&para;</a></h3>
18988
18990
 
@@ -19361,6 +19363,22 @@ These buttons typically perform actions like bulk delete, edit, or custom form s
19361
19363
  <code>None</code>
19362
19364
  </td>
19363
19365
  </tr>
19366
+ <tr class="doc-section-item">
19367
+ <td>
19368
+ <code>include_paginator</code>
19369
+ </td>
19370
+ <td>
19371
+ <code><span title="bool">bool</span></code>
19372
+ </td>
19373
+ <td>
19374
+ <div class="doc-md-description">
19375
+ <p>If True, renders a paginator in the panel footer.</p>
19376
+ </div>
19377
+ </td>
19378
+ <td>
19379
+ <code>False</code>
19380
+ </td>
19381
+ </tr>
19364
19382
  </tbody>
19365
19383
  </table>
19366
19384
 
@@ -21596,7 +21614,8 @@ Can be used as fallback if <code>view_name_key</code> won't be found in the cont
21596
21614
  <!-- RTD version flyout injected on live site -->
21597
21615
  <div id="readthedocs-embed-flyout"></div>
21598
21616
 
21599
- <div class="md-social">
21617
+
21618
+ <div class="md-social">
21600
21619
 
21601
21620
 
21602
21621
 
@@ -21652,10 +21671,10 @@ Can be used as fallback if <code>view_name_key</code> won't be found in the cont
21652
21671
 
21653
21672
 
21654
21673
 
21655
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
21674
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
21656
21675
 
21657
21676
 
21658
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
21677
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
21659
21678
 
21660
21679
 
21661
21680
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -10330,7 +10332,8 @@
10330
10332
  <!-- RTD version flyout injected on live site -->
10331
10333
  <div id="readthedocs-embed-flyout"></div>
10332
10334
 
10333
- <div class="md-social">
10335
+
10336
+ <div class="md-social">
10334
10337
 
10335
10338
 
10336
10339
 
@@ -10386,10 +10389,10 @@
10386
10389
 
10387
10390
 
10388
10391
 
10389
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10392
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10390
10393
 
10391
10394
 
10392
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10395
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10393
10396
 
10394
10397
 
10395
10398
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -9011,6 +9013,15 @@
9011
9013
  </span>
9012
9014
  </a>
9013
9015
 
9016
+ </li>
9017
+
9018
+ <li class="md-nav__item">
9019
+ <a href="#nautobot.apps.utils.validate_jinja2" class="md-nav__link">
9020
+ <span class="md-ellipsis">
9021
+ validate_jinja2
9022
+ </span>
9023
+ </a>
9024
+
9014
9025
  </li>
9015
9026
 
9016
9027
  <li class="md-nav__item">
@@ -11531,6 +11542,15 @@
11531
11542
  </span>
11532
11543
  </a>
11533
11544
 
11545
+ </li>
11546
+
11547
+ <li class="md-nav__item">
11548
+ <a href="#nautobot.apps.utils.validate_jinja2" class="md-nav__link">
11549
+ <span class="md-ellipsis">
11550
+ validate_jinja2
11551
+ </span>
11552
+ </a>
11553
+
11534
11554
  </li>
11535
11555
 
11536
11556
  <li class="md-nav__item">
@@ -13782,7 +13802,7 @@ Default if unspecified is the string <code>"/"</code>.</p>
13782
13802
  <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="gp">&gt;&gt;&gt; </span><span class="nb">next</span><span class="p">(</span><span class="n">generator</span><span class="p">)</span>
13783
13803
  <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a><span class="go">&#39;/circuits/circuits/&lt;uuid:pk&gt;/terminations/swap/&#39;</span>
13784
13804
  </code></pre></div>
13785
- <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">example_plugin.urls</span> <span class="k">as</span> <span class="nn">example_urls</span>
13805
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span><span class="w"> </span><span class="nn">example_plugin.urls</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">example_urls</span>
13786
13806
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">url_pattern</span> <span class="ow">in</span> <span class="n">get_url_patterns</span><span class="p">(</span><span class="n">example_urls</span><span class="p">,</span> <span class="n">base_path</span><span class="o">=</span><span class="s2">&quot;/plugins/example-app/&quot;</span><span class="p">):</span>
13787
13807
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="gp">... </span> <span class="nb">print</span><span class="p">(</span><span class="n">url_pattern</span><span class="p">)</span>
13788
13808
  <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="gp">...</span>
@@ -14691,6 +14711,47 @@ worker count to the description.</p>
14691
14711
  <div class="doc doc-object doc-function">
14692
14712
 
14693
14713
 
14714
+ <h2 id="nautobot.apps.utils.validate_jinja2" class="doc doc-heading">
14715
+ <code class="highlight language-python"><span class="n">nautobot</span><span class="o">.</span><span class="n">apps</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">validate_jinja2</span><span class="p">(</span><span class="n">template_code</span><span class="p">)</span></code>
14716
+
14717
+ <a href="#nautobot.apps.utils.validate_jinja2" class="headerlink" title="Permanent link">&para;</a></h2>
14718
+
14719
+
14720
+ <div class="doc doc-contents ">
14721
+
14722
+ <p>Parse a Jinja2 template to validate its syntax. Returns True if the template is valid.</p>
14723
+
14724
+
14725
+ <p><span class="doc-section-title">Raises:</span></p>
14726
+ <table>
14727
+ <thead>
14728
+ <tr>
14729
+ <th>Type</th>
14730
+ <th>Description</th>
14731
+ </tr>
14732
+ </thead>
14733
+ <tbody>
14734
+ <tr class="doc-section-item">
14735
+ <td>
14736
+ <code><span title="jinja2.TemplateSyntaxError">TemplateSyntaxError</span></code>
14737
+ </td>
14738
+ <td>
14739
+ <div class="doc-md-description">
14740
+ <p>If the template is syntactically invalid.</p>
14741
+ </div>
14742
+ </td>
14743
+ </tr>
14744
+ </tbody>
14745
+ </table>
14746
+
14747
+
14748
+ </div>
14749
+
14750
+ </div>
14751
+
14752
+ <div class="doc doc-object doc-function">
14753
+
14754
+
14694
14755
  <h2 id="nautobot.apps.utils.wrap_model_clean_methods" class="doc doc-heading">
14695
14756
  <code class="highlight language-python"><span class="n">nautobot</span><span class="o">.</span><span class="n">apps</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">wrap_model_clean_methods</span><span class="p">()</span></code>
14696
14757
 
@@ -14802,7 +14863,8 @@ worker count to the description.</p>
14802
14863
  <!-- RTD version flyout injected on live site -->
14803
14864
  <div id="readthedocs-embed-flyout"></div>
14804
14865
 
14805
- <div class="md-social">
14866
+
14867
+ <div class="md-social">
14806
14868
 
14807
14869
 
14808
14870
 
@@ -14858,10 +14920,10 @@ worker count to the description.</p>
14858
14920
 
14859
14921
 
14860
14922
 
14861
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
14923
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
14862
14924
 
14863
14925
 
14864
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
14926
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
14865
14927
 
14866
14928
 
14867
14929
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -14984,7 +14986,8 @@ applicable.</p>
14984
14986
  <!-- RTD version flyout injected on live site -->
14985
14987
  <div id="readthedocs-embed-flyout"></div>
14986
14988
 
14987
- <div class="md-social">
14989
+
14990
+ <div class="md-social">
14988
14991
 
14989
14992
 
14990
14993
 
@@ -15040,10 +15043,10 @@ applicable.</p>
15040
15043
 
15041
15044
 
15042
15045
 
15043
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
15046
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
15044
15047
 
15045
15048
 
15046
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
15049
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
15047
15050
 
15048
15051
 
15049
15052
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -10103,9 +10105,9 @@
10103
10105
  <p>It's common for many apps to provide an "app configuration" <a href="views/index.html">view</a> used for interactive configuration of aspects of the app that don't necessarily need to be managed by a system administrator via <code>PLUGINS_CONFIG</code>. The <code>NautobotAppConfig</code> setting of <code>config_view_name</code> lets you provide the URL pattern name defined for this view, which will then be accessible via a button on the <strong>Apps -&gt; Installed Apps</strong> UI view.</p>
10104
10106
  <p>For example, if the <code>animal_sounds</code> app provides a configuration view, which is set up in <code>urls.py</code> as follows:</p>
10105
10107
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># urls.py</span>
10106
- <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span> <span class="nn">django.urls</span> <span class="kn">import</span> <span class="n">path</span>
10108
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">django.urls</span><span class="w"> </span><span class="kn">import</span> <span class="n">path</span>
10107
10109
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
10108
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">views</span>
10110
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">views</span>
10109
10111
  <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>
10110
10112
  <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="n">urlpatterns</span> <span class="o">=</span> <span class="p">[</span>
10111
10113
  <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="n">path</span><span class="p">(</span><span class="s2">&quot;/configuration/&quot;</span><span class="p">,</span> <span class="n">views</span><span class="o">.</span><span class="n">AnimalSoundsConfigView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s2">&quot;config&quot;</span><span class="p">),</span>
@@ -10113,9 +10115,9 @@
10113
10115
  </code></pre></div>
10114
10116
  <p>then in your <code>AnimalSoundsConfig</code> you could refer to the view by name:</p>
10115
10117
  <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="c1"># __init__.py</span>
10116
- <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="kn">from</span> <span class="nn">nautobot.apps</span> <span class="kn">import</span> <span class="n">NautobotAppConfig</span>
10118
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.apps</span><span class="w"> </span><span class="kn">import</span> <span class="n">NautobotAppConfig</span>
10117
10119
  <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>
10118
- <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="k">class</span> <span class="nc">AnimalSoundsConfig</span><span class="p">(</span><span class="n">NautobotAppConfig</span><span class="p">):</span>
10120
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">AnimalSoundsConfig</span><span class="p">(</span><span class="n">NautobotAppConfig</span><span class="p">):</span>
10119
10121
  <a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a> <span class="c1"># ...</span>
10120
10122
  <a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a> <span class="n">config_view_name</span> <span class="o">=</span> <span class="s2">&quot;plugins:animal_sounds:config&quot;</span>
10121
10123
  <a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a>
@@ -10212,7 +10214,8 @@
10212
10214
  <!-- RTD version flyout injected on live site -->
10213
10215
  <div id="readthedocs-embed-flyout"></div>
10214
10216
 
10215
- <div class="md-social">
10217
+
10218
+ <div class="md-social">
10216
10219
 
10217
10220
 
10218
10221
 
@@ -10268,10 +10271,10 @@
10268
10271
 
10269
10272
 
10270
10273
 
10271
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10274
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10272
10275
 
10273
10276
 
10274
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10277
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10275
10278
 
10276
10279
 
10277
10280
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7408,12 +7410,12 @@
7408
7410
 
7409
7411
 
7410
7412
  <li class="md-nav__item">
7411
- <a href="platform-features/populating-extensibility-features.html" class="md-nav__link">
7413
+ <a href="platform-features/prepopulating-data.html" class="md-nav__link">
7412
7414
 
7413
7415
 
7414
7416
 
7415
7417
  <span class="md-ellipsis">
7416
- Populating Extensibility Features
7418
+ Prepopulating Data
7417
7419
 
7418
7420
  </span>
7419
7421
 
@@ -10105,9 +10107,9 @@
10105
10107
  </details>
10106
10108
  <p>Apps can define settings that will be stored in the Database Backend through <a href="https://django-constance.readthedocs.io/en/latest/#">Django Constance</a>. All of the standard Django Constance types are supported. A Constance Fieldset will automatically be created for your App. We have added the <code>ConstanceConfigItem</code> <code>namedtuple</code> to assist in the configurations.</p>
10107
10109
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># __init__.py</span>
10108
- <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span> <span class="nn">nautobot.apps</span> <span class="kn">import</span> <span class="n">ConstanceConfigItem</span><span class="p">,</span> <span class="n">NautobotAppConfig</span>
10110
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.apps</span><span class="w"> </span><span class="kn">import</span> <span class="n">ConstanceConfigItem</span><span class="p">,</span> <span class="n">NautobotAppConfig</span>
10109
10111
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
10110
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span> <span class="nc">AnimalSoundsConfig</span><span class="p">(</span><span class="n">NautobotAppConfig</span><span class="p">):</span>
10112
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">AnimalSoundsConfig</span><span class="p">(</span><span class="n">NautobotAppConfig</span><span class="p">):</span>
10111
10113
  <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> <span class="c1"># ...</span>
10112
10114
  <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="n">constance_config</span> <span class="o">=</span> <span class="p">{</span>
10113
10115
  <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="s1">&#39;DOG_SOUND&#39;</span><span class="p">:</span> <span class="n">ConstanceConfigItem</span><span class="p">(</span><span class="n">default</span><span class="o">=</span><span class="s1">&#39;woof&#39;</span><span class="p">,</span> <span class="n">help_text</span><span class="o">=</span><span class="s1">&#39;Dog sound&#39;</span><span class="p">),</span>
@@ -10213,7 +10215,8 @@
10213
10215
  <!-- RTD version flyout injected on live site -->
10214
10216
  <div id="readthedocs-embed-flyout"></div>
10215
10217
 
10216
- <div class="md-social">
10218
+
10219
+ <div class="md-social">
10217
10220
 
10218
10221
 
10219
10222
 
@@ -10269,10 +10272,10 @@
10269
10272
 
10270
10273
 
10271
10274
 
10272
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10275
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
10273
10276
 
10274
10277
 
10275
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10278
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10276
10279
 
10277
10280
 
10278
10281
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});