为什么 Django 3.0.6 使用 url() 函数而不是 path() 函数生成 urlpatterns 变量



在创建并检查我正在运行Python 3.6.1虚拟环境并安装了Django 3.0.6之后,我创建了一个项目。在此项目中,urls.py文件如下所示:

from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
]

但是,Django 3 文档说: "urlpatterns应该是一系列path()和/或re_path()实例。(https://docs.djangoproject.com/en/3.0/topics/http/urls/#syntax-of-the-urlpatterns-variable(

如果是这种情况,为什么它不会生成path('admin/', admin.site.urls)

谁能解释一下?据我了解,url()函数已经过时/将被淘汰,但似乎 Django 正在将其烘焙到项目中。我相信我应该使用path()但我不确定。

path()

是一种生成路径的新方法,不涉及正则表达式,而且更具可读性

path('blog/page<int:num>/', views.page),

re_path()是一种旧的正则表达式样式(在 django 2.0 之前,它唯一的方法来定义 urlconf 条目,它也具有别名url()(

re_path(r'^blog/(?P<page>[0-9]*)/$', views.page)

相关内容

最新更新