一、问题
在配置 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),
]
- 约束了匹配到的 URLs ,例如年份只能时 4 位数;
- 可以将匹配到数任意结果以字符串的形式发送。
更多信息请看官方文档:https://docs.djangoproject.com/en/2.2/ref/urls/#django.urls.re_path