小编典典

在 django 2.0 的 urls.py 中使用 path() 或 url() 会更好吗?

all

在 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()函数,因为使用 apath(r'^$', views.index, name="index")不会找到mysite.com/polls/视图。

在没有正则表达式匹配的情况下使用path()正确的前进方式吗?url()更强大但更复杂,所以他们path()用来开始我们?或者它是针对不同工作的不同工具的情况?


阅读 83

收藏
2022-08-29

共1个答案

小编典典

来自 Django 文档的url

url(regex, view, kwargs=None, name=None)此函数是
的别名django.urls.re_path()。它可能会在未来的版本中被弃用。

path和之间的主要区别在于re_path使用path没有正则表达式的路由

您可以re_path用于复杂的正则表达式调用并仅path用于更简单的查找

2022-08-29