在django在线课程中,讲师让我们使用该url()
函数调用视图并使用urlpatterns列表中的正则表达式。我在YouTube上看到了其他示例。例如
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"),
]
但是,在阅读Django教程时,他们path()
改用例如:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name="index"),
]
此外,正则表达式似乎不适用于该path()
函数,因为使用path(r'^$', views.index, name="index")
将找不到mysite.com/polls/
视图。
使用path()
没有正则表达式匹配的正确方法是正确的吗?是url()
更强大,但更复杂,所以他们正在使用path()
与开始我们吗?还是针对不同工作使用不同工具的情况?
path()
和之间切换时出错url()
。如果要或需要使用正则表达式,则必须使用re_path()
或url()
。除此之外,我认为这取决于您选择哪一个。