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. [转]QT中的D指针与Q指针

    Qt为了使其动态库最大程度上实现二进制兼容,引入了d指针的概念. 那么为什么d指针能实现二进制兼容呢? 为了回答这个问题,首先弄清楚什么是二进制兼容? 所谓二进制兼容动态库,指的是一个在老版本库下运行 ...

  2. nodeJs 报maximum call stack size exceeded js

    先看错误 查了下资料说是什么js堆栈异常,是递归造成的啥的,但我程序里没用到啥递归,整了老半天将collection-repeat换成ng-repeat然后就好啦,具体原因待探讨.

  3. loadrunner安装和应用

    问题:1.负载测试流程 2.为什么实现性能测试自动化 3.设置场景  (场景定义) 4.事物响应时间,吞吐量和吞吐率,正在运行vuser,windows资源,每秒点击次数,每秒http响应数. 5.i ...

  4. Hexo主题开发

    序章 想要一个自己的知识管理系统,用了 Hexo ,但是没有发现自己心仪的主题,就自己做了一个.本文记录了制作的全过程.本人编码功底和前端知识并不是特别雄厚,希望能由此文引出各路大神的兴趣,以后制作出 ...

  5. Ubuntu18.04安装cudnn7.6.1

    注:如果使用anaconda,貌似不需要安装cuda和cudnn,安装tensorflow时会自动安装 1.进入nvidia官网https://developer.nvidia.com/cudnn下载 ...

  6. 在ISTIO中让GRAFANA跑起来

    比较轻车熟路了. 这个GRAFANA内,已集成了ISTIO常见的DASHBOARD了. 一,映射本地端口 kubectl port-forward -n istio-system $(kubectl ...

  7. Java的transient关键字

    Java的transient关键字   Java 中的 transient 关键字被用来表示变量将不被序列化处理.那么在理解 transient 关键字之前,我们先了解下什么是序列化. 什么是序列化 ...

  8. flask实战-个人博客-模板 --

    模板 personalBlog采用典型的博客布局,左侧三分之二为主体,显示文章列表.正文:右侧三分之一为边栏,显示分为类列表.社交链接等.现在的工作是将HTML文件加工为模板,并创建对应的表单类,在模 ...

  9. css display:inline

  10. Python基础之while和for

    实现ATM的输入密码重新输入的功能 while True: user_db = 'nick' pwd_db = '123' inp_user = input('username: ') inp_pwd ...