In einem Django-Online-Kurs lässt uns der Kursleiter die url()
Funktion verwenden, um Ansichten aufzurufen und reguläre Ausdrücke in der URL-Musterliste zu verwenden. Ich habe auf youtube andere Beispiele dafür gesehen. z.B
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"),
]
Beim Durchlaufen des Django-Tutorials verwenden sie jedoch path()
stattdessen z.
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
Außerdem scheinen reguläre Ausdrücke mit der path()
Funktion nicht zu funktionieren, da die Verwendung von a path(r'^$', views.index, name="index")
die mysite.com/polls/
Ansicht nicht findet .
Stimmt die Verwendung path()
ohne Regex mit der richtigen Vorgehensweise überein? Ist url()
es mächtiger, aber komplizierter, damit sie uns path()
anfangen? Oder handelt es sich um unterschiedliche Werkzeuge für unterschiedliche Aufgaben?
path()
und zu vermeidenurl()
. Wenn Sie reguläre Ausdrücke verwenden möchten oder müssen, müssen Siere_path()
oder verwendenurl()
. Darüber hinaus liegt es ganz bei Ihnen, für welches Sie sich entscheiden.