为什么我的Django3项目使用正则表达式代码创建?

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

我是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

我做错了什么吗?

python django django-urls
1个回答
2
投票

简短回答:现代的django-admin使用path

您不需要

本身需要用户使用路径,因为并非所有正则表达式都映射到内置路径转换器。但是,您应该使用re_path [Django-doc],因为re_path如文档中所指定:

此功能是url [Django-doc]的别名。在将来的版本中,它

可能不推荐使用

。>

我以为此正则表达式代码适用于旧版本的Django。较新的Django 3应该使用path。

因为url,所以可以使用django.urls.re_path(),因此可以使用路径转换器。但是,如果该模式不是内置的parth转换器,则很难自行引入它,如果只需要一次,则可能不值得付出努力。因此,您仍可能要使用

注意,创建项目的程序为path。如果我用re_path运行此程序,则会得到预期的django-admin

django-tools-3.0.5

所以也许您忘了更新path工具。
© www.soinside.com 2019 - 2024. All rights reserved.