Definir enlace de navegación de la vista de listado a la de detalle en Django - 15

Video thumbnail

Vamos ahora, una vez creada la vista de detalle con el enlace de navegación para no llegarle directo vamos a colocarlo sería en el Index sería aquí tenemos la carta de Bootstrap aquí tenemos la descripción podemos colocarla por aquí abajo colocamos una etiquetada colocamos las rutas:

mystore\elements\templates\elements\index.html

<div class="card-body">
   <p>{{e.description}}</p>
   <a class="btn btn-sm btn-outline-primary" href="{% url 'elements:detail' e.id %}">Go</a>
</div>

Fijate que estamos indicando como prefijo el nombre de la aplicación:

elements:

Pudieras definirla de la siguiente manera:

<a class="btn btn-sm btn-outline-primary" href="{% url 'detail' e.id %}">Go</a>

Pero indicando el nombre de la aplicación queda de una forma más reutilizable.

Para poder referenciar el nombre de la aplicación, debemos de definir el namespace:

mystore\mystore\urls.py

path('store/', include('elements.urls', namespace='elements')),

Para evitar un error como el siguiente:

ImproperlyConfiguredError about app_name when using namespace in include()

Y el:

mystore\elements\urls.py

app_name = 'elements'

Para evitar un error como el siguiente:

is not a registered namespace

Acepto recibir anuncios de interes sobre este Blog.

Creamos el botón de navegación.

- Andrés Cruz

In english

Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos Curso y Libro desarrollo web con Django 5 y Python 3 + integración con Vue 3, Bootstrap y Alpine.js.