Django对应的路由名称
1. 名字很长,修改起来很麻烦
2.Django提供了一种方法
在urls.py中修改了名字以后,html中会自动对应做修改。这样提交表单的时候就会比较方便了。跳转到写死的某个URL。
3.根据名字indexx只能找到前缀,无法匹配后面的数字,例如detail-1中的这个数字1。想获得数字,需要重新定义一个参数来接收。
跳转了,指向了一个新的页面。
如下:表明跳转到哪个页面。第二个参数写死了,你想访问某个URL,我可以让你跳转(提交)到另外一个指定的URL.
当然了,也可以访问哪个,就还是跳转到哪个。跳转到自己所在的页面。这种的话,跳转到当前页面,看不到效果。path_info是一个内置函数,可以获取到当前url的路径。
因为render传递的时候,已经把request这个参数传过来了。所以可以直接调用。
上面的也可以改变方式传参数:<form action="{% url 'indexx' nid=1 uid=3 %}" method="POST">
这样的话,就帮URL生成了一个新的功能。跳转的功能。一点提交,就提交到了一个新的页面。
4.上面讲的是在模板语言中,基于views.py中的name生成新的URL.
在view.py中也可以根据name生成URL, 格式与上面的稍有不同。
url(r'^asdfdfdfd/(\d+)/',views.index,name='indexx')
v=reverse('indexx',args=(90,) url(r'^asdfdfdfd/(\d+)/(\d+)/',views.index,name='indexx')
v=reverse('indexx',args=(90,88,) url(r'^asdfdfdfd/(?P<nid>\d+)/((?P<uid>\d+)/',views.index,name='indexx')
v=reverse('indexx',kwargs={'nid':1,'uid':99})
5.本节笔记
4.name---非常重要
对URL路由关系进行命名,目的:以后可以根据此名称获取索引,进而生成自己想要的URL。
URL中的写法:
url(r'asdfsdfasd/',views.index, name='i1'),
url(r'yug/(\d+)//(\d+)/',views.index, name='i2'),
url(r'buy/(?P<pid>\d+)/(?P<nid>\d+)/',views.index, name='i3'), 在views函数里面,如果我想在def的函数里面,根据name生成新的url
def func(request, *args, **kwargs):
from django.urls import reverse
url1 = reverse('i1') #生成的就是这个url:asdfsdfasd/
url2 = reverse('i2',args=(1,2,)) #生成的就是这个url:yug/1/2
url3 = reverse('i3',kwargs={'pid':1,"nid":9}) #生成的就是这个url:buy/1/9 在模板语言里面,xxxx.html
{% url "i1" %} #asdfsdfasd/
{% url "i2" 1 2 %} #yug/1/2
{% url "i3" pid=1 nid=9 %} #buy/1/9
4.name---非常重要
对URL路由关系进行命名,目的:以后可以根据此名称获取索引,进而生成自己想要的URL。
URL中的写法:
url(r'asdfsdfasd/',views.index, name='i1'),
url(r'yug/(\d+)//(\d+)/',views.index, name='i2'),
url(r'buy/(?P<pid>\d+)/(?P<nid>\d+)/',views.index, name='i3'),
在views函数里面,如果我想在def的函数里面,根据name生成新的url
def func(request, *args, **kwargs):
from django.urls import reverse
url1 = reverse('i1') #生成的就是这个url:asdfsdfasd/
url2 = reverse('i2',args=(1,2,)) #生成的就是这个url:yug/1/2
url3 = reverse('i3',kwargs={'pid':1,"nid":9}) #生成的就是这个url:buy/1/9
在模板语言里面,xxxx.html
{% url "i1" %} #asdfsdfasd/
{% url "i2" 1 2 %} #yug/1/2
{% url "i3" pid=1 nid=9 %} #buy/1/9
杂七杂八
模板语言:
url(r'asdfsdfasd/',views.index, name=indexx),
{%url "indexx" %} #indexx 只能获取到前面的索引,在这里指:asdfsdfasd/。 它是没法获取到后面的数字的。 url(r'asdfsdfasd/(\d+)',views.index, name=indexx),
{%url "indexx" 3 %} #自己想跳转到哪里就跳到哪里。跳转到indexx代表的前缀-3 的网址了。基于当面URL的名称,跳转到了一个新的网址。 #当前的URL:request.path_info 编辑完某页之后,希望还是留在当前页;
编辑完某页之后,希望返回首页。 根据名字反转生成URL
from django.urls import reverse
v=reverse('indexx',args=(90,)
v=reverse('indexx',kwargs={'nid':1,'uid':99})
Django对应的路由名称的更多相关文章
- [Django框架之路由层匹配、有名 无名分组、反向解析、路由分发、名称空间、伪静态、本地虚拟环境、django版本区别]
[Django框架之路由层匹配.有名 无名分组.反向解析.路由分发.名称空间.伪静态.本地虚拟环境.django版本区别] 路由层 路由即请求地址与视图函数的映射关系,如果把网站比喻成一本书,那路由就 ...
- Django之url路由
Django之url路由 url路由介绍 url路由是关联url及其视图函数关系的过程. 作用就是使views里面处理数据的函数与请求的url建立映射关系 url路由配置 Django的url路由配置 ...
- Django中的路由配置简介
Django中的路由配置简介 路由配置(URLconf)就是Django所支撑网站的目录.其实,我们利用路由交换中的"寻址"的概念去理解Django的路由控制会简单很多,它的本质就 ...
- django 中的路由系统(url)
路由系统 根据Django约定,一个WSGI应用里最核心的部件有两个:路由表和视图.Django框架 的核心功能就是路由:根据HTTP请求中的URL,查找路由表,将HTTP请求分发到 不同的视图去处理 ...
- Django基础之路由(urls)层
目录 Django基础之路由(urls)层 无名分组与有名分组 无名分组 有名分组 反向解析 前段解析 后端解析 无名分组反向解析 前段解析 后端解析 有名分组的反向解析 前段解析 后端解析 路由分发 ...
- Django学习之路由分发和反向解析
原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目 ...
- Django入门2:路由系统
1.单一路由对应 url(r'^index/', views.index), # FBV url(r'^home/', views.Home.as_view()), # CBV 2.基于正则的路由 u ...
- day05 django框架之路由层
day05 django框架之路由层 今日内容概要 简易版django请求声明周期流程图(重要) 路由匹配 无名有名分组 反向解析 无名有名解析 路由分发 名称空间 伪静态 虚拟环境 简易版djang ...
- mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]
mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏.借助Url.RouteUrl或者Html.Rou ...
随机推荐
- [SDOI2011]染色 树链剖分
LG传送门 我写这道题的题解主要是因为洛谷上的题解要么讲的不清要么代码丑滑稽,导致初学时的我调了很久,所以想发个题解方便后来人. 由于要维护的信息还是具有区间可加性,只需要记录一下每个区间的左右端点颜 ...
- SQLAlchemy 简单笔记
ORM 江湖##### 曾几何时,程序员因为惧怕SQL而在开发的时候小心翼翼的写着sql,心中总是少不了恐慌,万一不小心sql语句出错,搞坏了数据库怎么办?又或者为了获取一些数据,什么内外左右连接,函 ...
- MongoDB Chapter1:Introduction
你是在防火墙后面吗? 为了继续本课程,您必须能够将计算机的传出请求发送到我们在MongoDB Atlas中设置的数据库服务器.这些服务器在Amazon AWS中的端口27017上运行. 请单击http ...
- 【Python进阶】无论API怎么变,SDK都可以根据URL实现完全动态的调用
现在很多网站都搞REST API,比如新浪微博.豆瓣啥的,调用API的URL类似: http://api.server/user/friends http://api.server/user/time ...
- 华为笔试——C++的int型数字位排序
题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int ...
- ASP.NET Web API - 使用 Castle Windsor 依赖注入
示例代码 项目启动时,创建依赖注入容器 定义一静态容器 IWindsorContainer private static IWindsorContainer _container; 在 Applica ...
- MySQL 中的数据类型介绍
1.MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 2.数值类型(12) 2.1. ...
- php新手需要注意的高效率编程
1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍. 当然了,这个测试方法需要在十万级以上次执行,效果才明显. 其实静态方法和非静 ...
- Linux学习——操作文件与目录
1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...
- Team Work Ⅲ
Regal-Lighting团队设计 分工思考 本次大作业我的分工定位是:Unit及子类,主要设计实现建筑类的功能. 在上一篇博客我介绍了我的继承方案和接口设定,这一篇粗略的介绍一下实现部分 Defe ...