Django之url反向解析

2022-05-15 15:17:08 字數 3368 閱讀 8171

在urls.py檔案中,在進行url對映時,為請求的url命個名,以便在模板頁面或者views.py檢視中可以進行反向解析,同時在修改了url對映的請求路徑,名稱不變的情況下,不再修改模板頁面或者檢視中的資料,專案不受影響正常執行!

url標籤中使用模板變數

和普通標籤引數一樣,空格隔開,}即可。

url(r'^url_reverse/', views.url_reverse,name="view_reverse"),

url(r'^login/', views.login,name="logining"),

url_reverse.html

1

doctype html

>

2<

html

lang

="en"

>

3<

head

>

4<

meta

charset

="utf-8"

>

5<

title

>頁面url反向解析

title

>

6head

>

7<

body

>

8<

h1><

a href

="">登入

a>

h1>

9通過url反向解析名稱"loging",直接獲取到urls.py模組中與之對應的url路徑"login/"#}

10body

>

11html

>

login.html

1

doctype html

>

2<

html

lang

="en"

>

3<

head

>

4<

meta

charset

="utf-8"

>

5<

title

>login

title

>

6head

>

7<

body

>

8<

form

action

=""method

="post"

>

9

10<

table

>

11<

tr>

12<

td>使用者名稱:

td>

13<

td><

input

type

="text"

name

="username"

>

td>

14tr

>

15<

tr>

16<

td>密碼:

td>

17<

td><

input

type

="text"

name

="userpsd"

>

td>

18tr

>

19<

tr>

20<

td><

input

type

="reset"

>

td>

21<

td><

input

type

="submit"

>

td>

22tr

>

23table

>

24form

>

25body

>

26html

>

27

views.py

檢視中url

反向解析:

17#呼叫reverse()方法,引數為urls.py中的url名稱,進行反向解析拿到"url_reverse/"

1819

#return redirect("view_reverse") #redirect自帶了url反向解析,可以不用重複呼叫reverse(),直接引用名稱

url標籤使用模板變數引數:

urls.py:

url(r'^update/book_id=([0-9]+)', views.update,

name

="update"),

views.py

returnrender(request,"update.html", )

html:

<formaction=""method="post">

Django之URL反向解析

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

django之url反向解析

在django中需要url 的地方,對於不同層級,django 提供不同的工具用於url 反查 1 在模板中 使用url 模板標籤。2 在python 中 使用 django.core.urlresolvers.reverse 函式。mydjango db.sqlite3 manage.py myd...

django的url反向解析

就是django會用你設定的url捕獲規則 正規表示式 去反向生成乙個url,生成的這個url仍然能滿足你設定的規則,比如設定如下捕獲規則 1 urlpatterns 2 re path r dynamic w w d views.dynamic,name dynamic 3 在模板檔案中用如下模板...