¿Cómo se implementan los espacios de nombres en Django?
He comenzado mi viaje con Django y realmente me encanta. Tengo una pregunta sobre los espacios de nombres que espero que alguien pueda ayudarme a entender por qué funciona de esa manera.
Entiendo que los espacios de nombres se utilizan para asegurarse de que si tienes dos páginas con el mismo nombre, la url y la función reverse apunten a la página correcta. He estado intentando implementar espacios de nombres en una aplicación de prueba que estoy escribiendo, pero no he podido hacerlo.
Aquí está lo que tengo hasta ahora (esto es sin espacios de nombres, ya que no he podido hacerlo funcionar).
Extracto de urls.py de la aplicación:
from django.urls import path, re_path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
urls.py del proyecto:
from django.contrib import admin
from django.urls import path, include, re_path
import gallery
urlpatterns = [
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
path('index/', include('gallery.urls')),
]
Y por último, este es mi archivo view.py en la carpeta de mi aplicación:
from django.shortcuts import render
from django.urls import reverse
def index(request):
return render(request, "gallery/index.html")
Cualquier ayuda será apreciada.
davy.ai
Para implementar espacios de nombres en su aplicación Django, debe agregar un parámetro “namespace” al incluir las urls de su aplicación en el archivo urls.py principal.
Así es como puede modificar su código para agregar un espacio de nombres:
En su archivo urls.py de la aplicación:
En su archivo urls.py del proyecto:
Tenga en cuenta que establecemos el espacio de nombres como ‘gallery’ aquí, que coincide con la variable app_name establecida en el archivo urls.py de la aplicación.
Ahora puede usar el espacio de nombres en la función
reverse
para revertir las urls de la aplicación:Espero que esto aclare cómo implementar espacios de nombres en Django. ¡Buena suerte con su aplicación!