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

597
Vistas
¿Cómo configurar direcciones URL en django cuando hay varias aplicaciones dentro del mismo proyecto?

Soy nuevo en Django. Estoy tratando de configurar las URL. Tengo 2 aplicaciones bajo un proyecto 'mysite'. En el urls.py de mysite, he incluido las URL de las 2 aplicaciones (llamadas 'login' y 'org')

misitio/urls.py

 urlpatterns = [ url(r'^login/', include('login.urls')), url(r'^org/', include('org.urls')), ]

login/urls.py

 app_name = 'login' urlpatterns = [ url(r'^signup/$', login_views.signup, name='signup'), ]

org/urls.py

 app_name = 'org' urlpatterns = [ url(r'^organizations/add/$', views.addorg, name='addorg'), ]

Habiéndolo configurado de esta manera, las URL de mi sitio se convierten en las siguientes:

 site.com/login/login/signup site.com/org/organizations/add

Quisiera las URLs para que sean como las siguientes.

 site.com/login/signup site.com/organizations/add

¿Cómo hago para que funcionen los 'incluye'? ¿Funcionará si cambio mysite/urls.py a lo siguiente?

 urlpatterns = [ url(r'^$', include('login.urls')), url(r'^$', include('org.urls')), ]

¿Hay una mejor manera de configurar las URL cuando hay varias aplicaciones?

Gracias

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

En la configuración que describe, la URL de inicio de sesión no sería 'site.com/login/login/signup' , sino 'site.com/login/signup' . ¿De dónde vendría el segundo 'login/' ?

La solución que sugieres,

 urlpatterns = [ url(r'^$', include('login.urls')), url(r'^$', include('org.urls')), ]

generalmente funcionará si no hay una URL que ocurra de manera idéntica en ambas aplicaciones. Pero no es ideal, ya que todos los patrones en el urs de inicio de sesión se probarán innecesariamente para todas las solicitudes.

Por lo tanto, es posible que desee considerar eliminar los prefijos internos de specific_app.urls , especialmente si esos prefijos son los mismos para todas las vistas de la aplicación. Déjelo a quien quiera que use e incluya esa aplicación (aquí: mysite.urls) en qué ruta quieren incluir la aplicación.

 # login/urls.py urlpatterns = [ # no 'login' prefix here. Includers know which app # they are including and how they want do that. url(r'^signup/$', login_views.signup, name='signup'), ] # org/urls.py urlpatterns = [ # same: no 'org' prefix url(r'^add/$', views.addorg, name='addorg'), ] # mysite.urls.py urlpatterns = [ url(r'^login/$', include('login.urls')), url(r'^organizations/$', include('org.urls')), ]

Las URL resultantes serán:

 site.com/login/signup site.com/organizations/add
about 4 years ago · Santiago Trujillo Denunciar

0

misitio/urls.py

 urlpatterns = [ url(r'^login/', include('login.urls')), url(r'^org/', include('org.urls')), ]

login/urls.py

 app_name = 'login' urlpatterns = [ url(r'^signup/$', login_views.signup, name='signup'), ]

Si pones tus urls de esta manera...

Su url de registro será site.com/login/signup La fórmula es: [ el dominio de su sitio + urls en main_project/urls.py + urls en any_app/urls.py ]

Entonces, para corregir la URL de su organización, debe refactorizar su my_site/urls.py como:

 urlpatterns = [ url(r'^login/', include('login.urls')), url(r'^organizations/', include('org.urls')), ]

y en su orgs/urls.py debe ser

 app_name = 'org' urlpatterns = [ url(r'^add/$', views.addorg, name='addorg'), ]

Espero que ayude.

about 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