Diango: urls.py无法添加正则表达式的解决方案

一、问题

在配置 urls.py 文件时,添加正则表达式之后,网页出现无法 404 错误,代码如下:

from django.contrib import admin
from django.urls import path

from . import views


urlpatterns = [
    path('admin/', admin.site.urls),
    path(r'name/(\w+)', views.text),
]

二、方法

导入 re_path 模块:

from django.urls import re_path

三、原因

当使用 paths 和 converters syntax 不能满足对 URL 模式的定义时,可以使用正则表达式来解决。这时需要使用 re_path() 方法来取代 path() 方法,如下例:

from django.urls import path, re_path

from . import views

urlpatterns = [
    path('articles/', views.special),
    re_path(r'^articles/(?P<year>[0-9]{4})/$', views.archive),
]
  1. 约束了匹配到的 URLs ,例如年份只能时 4 位数;
  2. 可以将匹配到数任意结果以字符串的形式发送。

更多信息请看官方文档:https://docs.djangoproject.com/en/2.2/ref/urls/#django.urls.re_path

发布了25 篇原创文章 · 获赞 37 · 访问量 2945

猜你喜欢

转载自blog.csdn.net/qq_41297934/article/details/103283074