Django 路由name使用

Django 路由name使用html

  • name:對URL路由關係進行命名

***之後能夠根據此名稱生成本身想要的URL***django

# 路由 url 三種形式   
url(r'^index/', views.index,name='indexx' name='i1'),
url(r'^index/(\d+)/', views.index,name='i2'),
url(r'^index/(?P<nid>\d+)/', views.index,name='i3'),

一、根據name生成新的urlide

# view 文件內------------------------------------
def func(request, *args, **kwargs): from djangourls import reverse # 等於 index url1 = reverse('i1') # 等於 index/1/2 url2 = reverse('i2', args=(1,2,)) # 等於 index/1/9 url3 = reverse('i3', kwargs={'pid':1,"nid":9})
# html 文件內-------------------------------
# 生成地址 index {% url "i1" %} # 生成地址 index/1/2 {% url "i2" 1 2 %} # 生成地址 index/1/9 {% url "i2" oid=1 pid=9 %}

二、修改當前urlui

# 將返回的url轉換爲其餘url
url(r'^index/(\d+)/', views.index,name='indexx'),

def index(request,nid):
    from django.urls import reverse
    # 若是indexx後面有其餘值,還須要傳入其餘值。
    v = reverse('indexx',args=(90,))
# 將返回的url轉換爲其餘url
url(r'^index/(?P<nid>\d+)/', views.index,name='indexx'),

def index(request,nid):
    from django.urls import reverse
    # 若是indexx後面有其餘值,還須要傳入其餘值。
    v = reverse('indexx',kwargs={"nid":1})

其餘方法 url

URL:
url(r'^index/', views.index,name='indexx'),

模板語言:
# html內傳入name的url路徑
{% url "indexx" %}
html內傳入name的url路徑
URL:
# 正則參數能夠加入多個
url(r'^index/(\d+)/', views.index,name='indexx'),
url(r'^index/(?P<nid>\d+)/', views.index,name='indexx'),

模板語言:
# html內傳入name的url路徑,加入任意參數任意跳轉位置
# 能夠作更多的自定製操做
{% url "indexx" 2 %}
{% url 「indexx」 uid=2 nid=3 }
html內傳入name的url路徑,加入任意參數任意跳轉位置
相關文章
相關標籤/搜索