在django在线课程中,讲师让我们使用该url()函数调用视图并使用urlpatterns列表中的正则表达式。我在YouTube上看到了其他示例。例如
url()
urlpatterns
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()改用例如:
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(r'^$', views.index, name="index")
mysite.com/polls/
是否使用path()没有正则表达式匹配的正确方法前进?是url()更强大,但更复杂,所以他们正在使用path()与开始我们吗?还是针对不同工作使用不同工具的情况?
从Django文档获取url
url(regex, view, kwargs=None, name=None)此函数是的别名django.urls.re_path()。在将来的版本中可能不推荐使用。
url(regex, view, kwargs=None, name=None)
django.urls.re_path()
path和之间的主要区别re_path是path使用不带正则表达式的路由
path
re_path
你可以re_path用于复杂的正则表达式调用,也可以仅path用于更简单的查找