En un curso en línea de django, el instructor nos hace usar la url()
función 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 path()
función, ya que el uso de a path(r'^$', views.index, name="index")
no encuentra la mysite.com/polls/
vista.
¿ path()
Usar sin expresiones regulares coincide con la forma correcta en el futuro? ¿Es url()
más poderoso pero más complicado por lo que están usando path()
para comenzar? ¿O es un caso de diferentes herramientas para diferentes trabajos?
path()
yurl()
. Si quiere o necesita usar expresiones regulares, debe usarre_path()
ourl()
. Más allá de eso, creo que depende de ti cuál elijas.