url反向解析小例子

2022-08-27 16:03:08 字數 1907 閱讀 5739

test4/urls.py

from django.contrib import

admin

from django.urls import

path, include

urlpatterns =[

path(

'admin/

', admin.site.urls),

path(

'', include('

booktest.urls

', namespace='

booktest'))

]

booktest/urls.py

from django.urls import

path, re_path

from booktest import

views

booktest

'urlpatterns =[

path(

'', views.index, name='

index'),

re_path(r

'^(\d+)$

', views.show, name='

show')

]

views.py

from django.shortcuts import

render

from booktest.models import *

defindex(request):

#查詢乙個

#hero = heroinfo.objects.get(pk=35)

#context =

#查詢列表(多個)

list =heroinfo.objects.all()

#list = heroinfo.objects.filter(isdelete=true)

context =

return render(request, '

booktest/index.html

', context)

defshow(request, id):

context =

return render(request, '

booktest/show.html

', context)

show.html

"en

">}

index.html

"en

">

"">顯示

} #}

} :}

您查詢的資料不存在!

其中booktest是test4/urls.py/namespace中的內容,

show是booktest/urls.py/name中的內容,

123是(\d+)需要傳遞的引數的內容

解釋一下頁面跳**

index.html 中如果有  顯示

href中123位址。先到test4中匹配空即127.0.0.1:8000

因為有

include('booktest.urls', namespace='booktest')跳轉到booktest.urls中

re_path(r'^(\d+)$', views.show, name='show')與

(\d+)進行匹配即127.0.0.1:8000/123

再到views.py中找到show函式。

return render(request, 'booktest/show.html', context)跳轉到show.html頁面顯示id

url 反向解析

1 定義 隨著功能的增加會出現更多的檢視,可能之前配置的正規表示式不夠準確,於是就要修改正規表示式,但是正規表示式一旦修改了,之前所有對應的超連結都要修改,真是一件麻煩的事情,而且可能還會漏掉一些超連結忘記修改,有辦法讓鏈結根據正規表示式動態生成嗎?就是用反向解析的辦法。2,應用範圍 模板中的超連結...

Django之URL反向解析

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

Django之url反向解析

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