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路径,加入任意参数任意跳转位置


Django 路由name使用的更多相关文章

  1. Django路由系统

    django路由系统 简而言之,django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里的关系条目,去查找到与请求对应的处理方法,从 ...

  2. Django 路由系统

    Django 路由系统 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说 ...

  3. Python菜鸟之路:Django 路由、模板、Model(ORM)

    Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求.有点类似nginx的location功能. Django的路由关系分为三种:普通关 ...

  4. Django路由控制总览

    今日内容:(路由层) 1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号) -url(r'^admin/', admin.site. ...

  5. Python学习---Django路由系统【all】

    Django URL (路由系统) Django URL (路由系统): URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映 ...

  6. Python菜鸟之路:Django 路由补充1:FBV和CBV - 补充2:url默认参数

    一.FBV和CBV 在Python菜鸟之路:Django 路由.模板.Model(ORM)一节中,已经介绍了几种路由的写法及对应关系,那种写法可以称之为FBV: function base view ...

  7. 【python】-- Django路由系统(网址关系映射)、视图、模板

    Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test ...

  8. stark组件前戏(3)之django路由分发的本质include

    django路由分发的三种方式 方式一: from django.urls import re_path, include urlpatterns = [ re_path(r'^web/', incl ...

  9. django路由匹配层

    目录 orm表关系如何建立 一对多 多对多 一对一 django请求生命周期流程图 路由层 路由的简单配置 Django路由匹配规律 分组 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态 虚 ...

随机推荐

  1. .net web mvc 权限验证

    这里分享MVC的权限验证,内容中可能存在一些,莫名其妙的方法,那些是以前封装好的,大致可以根据方法名称知道他的意思. using Game.Entity; using Game.Entity.Plat ...

  2. JavaScript的Proxy可以做哪些有意思的事儿

    摘要: 神奇而有趣的Proxy. 原文:拿Proxy可以做哪些有意思的事儿 作者:贾顺名 Fundebug经授权转载,版权归原作者所有. Proxy是什么 首先,我们要清楚,Proxy是什么意思,这个 ...

  3. Mac Brew 安装及配置

    mac 终端下,执行以下命令,即可安装brew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homeb ...

  4. Redis 分布式锁的正确打开方式

    前言 分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介 ...

  5. 编写合格的C代码(1):通过编译选项将特定警告视为错误

    目录 快速设定 向错误的执念开炮,向C编译器开炮 编译警告应当被忽略吗?warning不重要吗? 个人总结的应当视作error的warning 1. 函数没有声明就使用 2. 函数虽然有声明,但是声明 ...

  6. Linux下virtualenv与virtualenvwrapper详解

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同的工程使用 ...

  7. Python面试题(1)

    1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reversetempList = [1,2,3,4]tempList.reverse()for x in tempList:    pr ...

  8. N种自动化测试框架(包含自动化和性能,总有一款适合你)

    不知不觉,分享的框架已经6个了(准确说应该是4个),仅仅是接口的. 这些框架都是最基础的框架,需要根据实际使用场景进行完善,大家就当练手实践吧. 不需要写代码的自动化框架 JMeter + Ant+ ...

  9. telnet安装和使用教程

    一.安装telnet 1.检测telnet-server的rpm包是否安装 [root@localhost ~]# rpm -qa telnet-server若无输入内容,则表示没有安装.出于安全考虑 ...

  10. 使用Git管理品优购项目 开始部分