django-11-url反向解析
阿新 • • 發佈:2020-09-15
反向解析namespace
反向解析:無論urls如何變化,都會根據name解析為正確的地址
專案.urls.py
url(r'^',include('應用名.urls',namespace='應用名booktest'))
應用.urls.py
url(r'^index',views.index,name='自定義名稱index')
模板引用
<a href="{% url 'booktest:index' %}">首頁</a>
# 自動解析為:
# 127.0.0.1:8000/index
反向解析-位置引數
應用.urls.py
url(r'^index/(\d+)/(\d+)$',views.index,name='自定義名稱index1')
模板引用
<a href="{% url 'booktest.index1' 1 2 %}">
# 自動解析為:
# 127.0.0.1:8000/index/1/2
檢視函式
def index(request,a,b)
return HttpResponse('ok')
反向解析-關鍵字引數
應用.urls.py
url(r'^index/(?P<n1>\d+)/(?P<n2>\d+)$',views.index,name='自定義名稱index1')
檢視函式views.py
def index(request,n1,n2)
return HttpResponse('ok')
模板html
<a href={% url 'booktest:index1' a=3 b=4 %}>
檢視配置反向解析
from django.core.urlresolvers import reverse def test_reverse(request): # 重定向到index url=reverse('booktest:index') # 位置引數重定向到index/1/2 url1=reverse('booktest:index',args={1,2}) # 關鍵字引數 url1=reverse('booktest:index',kwargs={'a':1,'b':2}) return redirect(url)