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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章