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路径,加入任意参数任意跳转位置
相关文章
相关标签/搜索