我是Django的新手。
我正在使用Django 3,并且在创建新的Django项目时,urls.py文件具有以下代码:
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
我以为该正则表达式代码适用于Django的较早版本。较新的Django 3应该使用path
。
我做错了什么吗?
简短回答:现代的django-admin
使用path
。
本身需要用户使用路径,因为并非所有正则表达式都映射到内置路径转换器。但是,您应该使用re_path
[Django-doc],因为re_path
如文档中所指定:
此功能是。>url
[Django-doc]的别名。在将来的版本中,它可能不推荐使用
我以为此正则表达式代码适用于旧版本的Django。较新的Django 3应该使用path。因为
url
,所以可以使用django.urls.re_path()
,因此可以使用路径转换器。但是,如果该模式不是内置的parth转换器,则很难自行引入它,如果只需要一次,则可能不值得付出努力。因此,您仍可能要使用django-2.0。
注意,创建项目的程序为path
。如果我用re_path
运行此程序,则会得到预期的django-admin
:
django-tools-3.0.5
所以也许您忘了更新path
工具。