Definir enlace de navegación de la vista de listado a la de detalle en Django - 15
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
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.