在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()。除此之外,我认为这取决于您选择哪一个。