test4/urls.py
from django.contrib importadmin
from django.urls import
path, include
urlpatterns =[
path(
'admin/
', admin.site.urls),
path(
'', include('
booktest.urls
', namespace='
booktest'))
]
booktest/urls.py
from django.urls importpath, 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 importrender
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...