Dans un cours en ligne django, l'instructeur nous demande d'utiliser la url()
fonction pour appeler des vues et utiliser des expressions régulières dans la liste des urlpatterns. J'ai vu d'autres exemples sur YouTube de cela. par exemple
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"),
]
Cependant, en parcourant le tutoriel Django, ils utilisent à la path()
place par exemple:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
De plus, les expressions régulières ne semblent pas fonctionner avec la path()
fonction car l'utilisation de a path(r'^$', views.index, name="index")
ne trouvera pas la mysite.com/polls/
vue.
Est-ce que l'utilisation path()
sans regex correspond à la bonne façon d'aller de l'avant? Est-ce url()
plus puissant mais plus compliqué alors ils utilisent path()
pour commencer? Ou s'agit-il de différents outils pour différents emplois?
la source
path()
eturl()
. Si vous voulez ou avez besoin d'utiliser des expressions régulières, vous devez utiliserre_path()
ouurl()
. Au-delà de cela, je pense que c'est vraiment à vous de choisir celui que vous choisissez.