Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

425
Vistas
ImproperlyConfiguredError sobre app_name cuando se usa el espacio de nombres en include()

Actualmente estoy probando Django. Uso el argumento del namespace de nombres en uno de mis include() s en urls.py. Cuando ejecuto el servidor e intento navegar, aparece este error.

 File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\django\urls\conf.py", line 39, in include 'Specifying a namespace in include() without providing an app_name ' django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

Estos son mis archivos urls.py:

 #project/urls.py from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^reviews/', include('reviews.urls', namespace='reviews')), url(r'^admin/', include(admin.site.urls)), ]

y

 #app/urls.py from django.conf.urls import url from . import views urlpatterns = [ # ex: / url(r'^$', views.review_list, name='review_list'), # ex: /review/5/ url(r'^review/(?P<review_id>[0-9]+)/$', views.review_detail, name='review_detail'), # ex: /wine/ url(r'^wine$', views.wine_list, name='wine_list'), # ex: /wine/5/ url(r'^wine/(?P<wine_id>[0-9]+)/$', views.wine_detail, name='wine_detail'), ]

¿Qué debo pasar app_name como se indica en el mensaje de error?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Consulte los documentos para incluir aquí .

Lo que ha hecho no es una forma aceptable de pasar parámetros para incluir. Podrías hacerlo:

 url(r'^reviews/', include(('reviews.urls', 'reviews'), namespace='reviews')),
over 4 years ago · Santiago Trujillo Denunciar

0

Django 1.11+, 2.0+

Debe configurar app_name en el archivo de URL que está incluyendo

 # reviews/urls.py <-- ie in your app's urls.py app_name = 'reviews'

Luego puede incluirlo de la forma en que lo está haciendo.

Además, podría valer la pena señalar lo que dicen los documentos de Django aquí https://docs.djangoproject.com/en/1.11/ref/urls/#include :

En desuso desde la versión 1.9: la compatibilidad con el argumento app_name está en desuso y se eliminará en Django 2.0. Especifique app_name como se explica en los espacios de nombres de URL e incluya URLconfs en su lugar.

( https://docs.djangoproject.com/en/1.11/topics/http/urls/#namespaces-and-include )

over 4 years ago · Santiago Trujillo Denunciar

0

Django 2.0 debe especificar app_name en su urls.py , no es necesario especificar el argumento app_name en include.

Archivo de URL principal.

 from django.contrib import admin from django.urls import path, include urlpatterns = [ path('', include('apps.main.urls')), path('admin/', admin.site.urls), ]

URL incluida.

 from django.urls import path from . import views app_name = 'main_app' urlpatterns = [ path('', views.index, name='index'), ]

Luego use use in template como

 <a href="{% url main_app:index' %}"> link </a>

Más detalles: https://code.djangoproject.com/ticket/28691 Django 2.0 Docs

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda