创建并检查后,我正在运行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()
,但不确定。
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)