Dar*_*ong 5 python django django-urls
我对 Django 很陌生。
我正在使用 Django 3,当我创建一个新的 Django 项目时,urls.py 文件包含以下代码:
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
我认为这个正则表达式代码适用于旧版本的 Django。较新的 Django 3 应该使用path.
我做错了什么吗?
简短的回答:现代django-admin用途path。
您本身不需要使用路径,因为并非所有正则表达式都映射到内置路径转换器。但是您应该使用re_path[Django-doc],因为url[Django-doc]是,如文档中指定的:
\n\n\n该函数是 的别名
\ndjango.urls.re_path()。它\xe2\x80\x99s可能会在未来版本中被弃用。
\n\n
\n\n\n我认为这个正则表达式代码适用于旧版本的 Django。较新的 Django 3 应该使用路径。
\n
从django-2.0开始,可以使用path, 从而使用路径转换器。但是,如果该模式不是内置的部分转换器,那么您自己引入它可能会相当困难,并且如果您只需要它一次,也许不值得付出努力。因此您可能仍然想使用re_path.
请注意,创建项目的程序是django-admin. 如果我用 运行它django-tools-3.0.5,我会得到预期的结果path:
$ django-admin --version\n3.0.5\n$ django-admin startproject django_test\n$ cat django_test/django_test/urls.py\n"""django_test URL Configuration\n\nThe `urlpatterns` list routes URLs to views. For more information please see:\n https://docs.djangoproject.com/en/3.0/topics/http/urls/\nExamples:\nFunction views\n 1. Add an import: from my_app import views\n 2. Add a URL to urlpatterns: path(\'\', views.home, name=\'home\')\nClass-based views\n 1. Add an import: from other_app.views import Home\n 2. Add a URL to urlpatterns: path(\'\', Home.as_view(), name=\'home\')\nIncluding another URLconf\n 1. Import the include() function: from django.urls import include, path\n 2. Add a URL to urlpatterns: path(\'blog/\', include(\'blog.urls\'))\n"""\nfrom django.contrib import admin\nfrom django.urls import path\n\nurlpatterns = [\n path(\'admin/\', admin.site.urls),\n]Run Code Online (Sandbox Code Playgroud)\n\n所以也许您忘记更新django-admin工具。
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |