Django命名URL和反向解析URL實現解析

2022-10-06 04:24:12 字數 2244 閱讀 1613

命名 url:

test.html:

測試頁面

測試頁面

json_test/" relbinbohwe="external nofollow" >json 資料

urls.py:

from django.conf.urls import uwww.cppcns.comrl

from app01 import views

urlpatterns = [

url(r'^test/', views.test),

url(r'^json_test/', views.json_test),

]如果 urls.py 中的 json_test/ 路徑發生改變,test.html 中的位址也要改

可以使用反向 url 解析,給 json_test/ 起乙個別名

urls.py:

from django.conf.urls import url

from app01 import views

urlpatterns = [

url(r'^test/', views.test),

url(r'^json_test/', views.json_test, name="json"), # 給該 url 匹配命名為 json

]test.html:

測試頁面

測試頁面

json 資料

這時候如果修改 urls.py 中的 json_test/ 路徑,就不需要再去修改 test.html

反向解析 url:

如果需要重定向這樣的路徑的話,可以在 views.py 中這樣寫:

from django.shortcuts import render, redirect

from django.urls import reverse

# json 測試

def json_test(request):

hobby = ["music", "movie程式設計客棧", "basketball", "reading"]

return redirect(reverse("json")) # 通過 json 反向得到路徑 json_test/

訪問: 就變成訪問:

如果 url 需要傳引數的話:

urls.py:

from django.conf.urls import url

from app01 import views

urlpatterns = [

url(r'^test/', views.test),

url(r'^json_test/(?p[0-9])/(?p[a-za-z]+)/', views.json_test, name="json"),

]test.html:

測試頁面

測試頁面

json 資料

訪問:點選 「json 資料」

反向解析需要引數的www.cppcns.com話:

訪問:跳轉到了:23/aaaa/

本文標題: django命名url和反向解析url實現解析

本文位址:

Django反向解析和命名空間

在實際的django專案中,經常需要獲取某條url,為生成的內容配置url鏈結。在之前的django教程中,url用的都是硬編碼格式,這種格式費時 不可伸縮,而且容易出錯。若更改url則需要將之前所有鏈結該url都加以修改,工作量太大。所以,需要一種安全 可靠 自適應的機制,當修改urlconf中的...

Django之URL反向解析

在反向解析和命名空間之前我們先來說說urls硬編碼,用django 開發應用的時候,可以完全是在urls.py 中硬編碼配置位址,在views.py中httpresponseredirect 也是硬編碼轉向位址,當然在template 中也是一樣了,這樣帶來乙個問題,如果在urls.py 中修改了某...

Django之url反向解析

在urls.py檔案中,在進行url對映時,為請求的url命個名,以便在模板頁面或者views.py檢視中可以進行反向解析,同時在修改了url對映的請求路徑,名稱不變的情況下,不再修改模板頁面或者檢視中的資料,專案不受影響正常執行!url標籤中使用模板變數 和普通標籤引數一樣,空格隔開,即可。url...