Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

906
Views
¿Es mejor usar path() o url() en urls.py para django 2.0?

En un curso en línea de Django, el instructor nos pide que usemos la función url() para llamar vistas y utilizar expresiones regulares en la lista de patrones de URL. He visto otros ejemplos en youtube de esto. p.ej

 from django.contrib import admin from django.urls import include from django.conf.urls import url urlpatterns = [ path('admin/', admin.site.urls), url(r'^polls/', include('polls.urls')), ] #and in polls/urls.py urlpatterns = [ url(r'^$', views.index, name="index"), ]

Sin embargo, al seguir el tutorial de Django, usan path() en su lugar, por ejemplo:

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

Además, las expresiones regulares no parecen funcionar con la función path() ya que usar una path(r'^$', views.index, name="index") no encontrará la vista mysite.com/polls/ .

¿Usar path() sin que la expresión regular coincida de la manera correcta en el futuro? ¿Es url() más poderoso pero más complicado, por lo que están usando path() para comenzar? ¿O se trata de diferentes herramientas para diferentes trabajos?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

De la documentación de Django para url

url(regex, view, kwargs=None, name=None) Esta función es un alias para django.urls.re_path() . Es probable que quede obsoleto en una versión futura.

La diferencia clave entre path y re_path es que la path usa ruta sin expresiones regulares

Puede usar re_path para llamadas de expresiones regulares complejas y usar solo path para búsquedas más simples

over 4 years ago · Santiago Trujillo Report

0

La nueva función django.urls.path() permite una sintaxis de enrutamiento de URL más simple y legible. Por ejemplo, este ejemplo de versiones anteriores de Django:

 url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive)

podría escribirse como:

 path('articles/<int:year>/', views.year_archive)

La función django.conf.urls.url() de versiones anteriores ahora está disponible como django.urls.re_path() . La ubicación anterior permanece para la compatibilidad con versiones anteriores, sin una desaprobación inminente. La antigua función django.conf.urls.include() ahora se puede importar desde django.urls para que pueda usar:

 from django.urls import include, path, re_path

en las URLconfs . Para leer más django doc

over 4 years ago · Santiago Trujillo Report

0

path es simplemente nuevo en Django 2.0, que se lanzó hace solo un par de semanas. La mayoría de los tutoriales no se habrán actualizado para la nueva sintaxis.

Ciertamente se suponía que era una forma más simple de hacer las cosas; Sin embargo, no diría que la URL es más poderosa, debería poder expresar patrones en cualquier formato.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!