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

问题描述 投票:0回答:1

创建并检查后,我正在运行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()函数已过时/将被弃用。我相信我应该使用path(),但不确定。

django django-urls django-3.0
1个回答
0
投票

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)
© www.soinside.com 2019 - 2024. All rights reserved.