Django 路由name使用

Django 路由name使用

  • name:对URL路由关系进行命名

***以后可以根据此名称生成自己想要的URL***

# 路由 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'),

1、根据name生成新的url

# 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 %}

2、修改当前url

# 将返回的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(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路径,加入任意参数任意跳转位置

 

转载于:https://www.cnblogs.com/xiangsikai/p/10919258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值