使用场景:

当我们在url的时候,一般情况下都是使用很明确的url地址。如在网页里面使用<a href="/login">登录</a>.像这样的链接有很

多。假如有一天,突然需要改变登录的链接,想将/login变成/login_first 这样的话,就需要将url里面的正则改变成

^login_first/$,同时再将<a>标签里面的href变成/login_first。像这样<a>的链接太多了,根本就无法修改。

在template中使用name:

name--> url

所以这里就可以使用url里面自带的name的方法。    对于像<a>这样链接的操作。 用法: 不带参数的: {% url 'name' %} 带参数的:参数可以是变量名 {% url 'name' 参数 %}    所以这里的改变为:url('^login_first/$',views.login,name="login_first")(对于其他部分自动补脑),在<a href="{% url'login_first'%}">.    解释:{% url 'login_first'%},这里的login_first代表着这个url自动去寻找django的url里面name="login_first"这个条链

接,并将前面的url赋给<a>标签中的href。

在python中

name---> url 

这时如何让以前的 /add/3/4/自动跳转到新的网址呢?要知道Django不会帮你做这个,这个需要自己来写一个跳转方法。 这里需要我们使用reverse这个函数,作用:reverse 接收 url 中的 name 作为第一个参数

old的方法:url: url(r'^add/(\d+)/(\d+)/$', views.add2),

views:  from django.http import HttpResponseRedirect,HttpResponse

from django.core.urlresolvers import reverse

def add2(request,a,b):

       c=int(a)+int(b)

       return HttpResponse(str(c))

new方法:

   url(r'^add/(\d+)/(\d+)/$', views.add2_redirect),

   url(r'^new_add/(\d+)/(\d+)/$', views.add2, name='add2'),

views:

   from django.http import HttpResponseRedirect,HttpResponse

  from django.core.urlresolvers import reverse

  ##新添的函数

  def add2_redirect(request, a, b):

     return Redirect(reverse('add2', args=(a, b))

  def add2(request,a,b):

    c=int(a)+int(b)

    return HttpResponse(str(c))

原本我们访问127.0.0.1/add/3/4/   会得到7 现在的话,我们访问127.0.0.1/add/3/4/会得到新的链接/127.0.0.1/new_add/3/4/,并且新的链接的内容也是7

解释:reverse的第一个参数为add2,那么它就会到url取新的链接,为new_add/,再加上后面的参数,就成为/new_add/3/4,并且使用add2的函数,得到想要的值。

参考:http://www.ziqiangxuetang.com/django/django-url-name.html

在python中

url---> name

django urls.py 中的name 使用方法的更多相关文章

  1. [django]urls.py 中重定向

    Django 1.5 有时候需要对一个链接直接重定向,比如首页啥的重定向到一个内容页等等,在views.py 中可以设定,如果没有参数啥的在urls.py 中设定更加方面 from django.vi ...

  2. 学习django笔记一:在urls.py中导入sign应用views文件的问题

    >python-admin startproject guest     #创建guest项目 >python3 manage.py startapp sign  #在guest项目中创建 ...

  3. django 2.0 中URL的include方法使用分析

    一.问题出现: 在使用Django2.0,配置全局URL时,希望指向某个APP的URL,配置如下: from django.contrib import admin from django.conf. ...

  4. django urls.py更改遇到问题

    Q:TypeError: view must be a callable or a list/tuple in the case of include() A:django 1.10版本改了写法了.首 ...

  5. django基础 -- 3. urls.py view.py 参数 别名 重定向 常用方法 静态文件

    一.基本格式 from django.conf.urls import url from . import views #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数 ...

  6. Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法

    Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入 ...

  7. Django框架——基础之路由系统(urls.py)

    1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除 ...

  8. Django框架——基础之路由系统(urls.py)11111111

    1.URL路由系统前言 URL是Web服务的入口,用户通过浏览器发送过来的任何请求,都是发送到一个指定的URL地址,然后被响应. 在Django项目中编写路由,就是向外暴露我们接收哪些URL的请求,除 ...

  9. Django(五)1 - 4章实战:从数据库读取图书列表并渲染出来、通过url传参urls.py path,re_path通过url传参设置、模板语法

    一.从数据库读取图书数据并渲染出来 1)app1/views.py函数books编写 [1]从模型下导入bookinfo信息 [2]从数据库获取图书对象列表 [3]把获取到的图书对象赋值给books键 ...

随机推荐

  1. AE创建组件失败,项目中已存在对esri.arcgis.***的引用

    AE创建组件失败,项目中已存在对esri.arcgis.***的引用 解决办法:在解决方案资源管理器的引用中把错误提示中的引用删掉,再创建组件就没问题了.

  2. python面试的100题(18)

    函数 52.python常见的列表推导式? 列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件] 参考地址:https://www.cnb ...

  3. TD - 系统异常 - 登录不上

    问题描述:登录之后,页面停留在登录页面,没有任何错误提示 解决办法:重新安装插件

  4. sql查询 —— 分页

    -- 分页 -- limit -- limit start count (start 显示骑士值,单页数量) select *from student where gender=1 limit 6,3 ...

  5. JASON

    JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...

  6. adb 连接手机

    adb kill-server adb start-server 可能会遇到问题华为手机: 有应用遮挡了权限请求界面,设置应用无法验证你的回应 系统导航关闭悬浮球 然后重启adb  server ad ...

  7. Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板

    Django中间件,CSRF(跨站请求伪造),缓存,信号,BootStrap(模板)-响应式(栅格)+模板 1.中间件(重要): 在Django的setting中有个MIDDLEWARE列表,里面的东 ...

  8. Web服务与应用

    一.Apache 1.1 简介 Apache是一个高稳定,商业级别开源的Web服务器 1.2 下载镜像 DockerHub官方提供Apache镜像不带PHP环境,也就是不是动态网页页面,只能生成静态的 ...

  9. Oracle中行转列,列转行pivot的用法

    测试数据准备 --建表 --drop table SalesList; create table SalesList( keHu ), --客户 shangPin ), --商品名称 salesNum ...

  10. [Netcat] 断线重连 自动重连

    今天想做些操作,所以想到了nc 但是nc太过于轻量级 所以 导致我没有找到他的断线重连功能 然后我就想到了windows的神器之一 vbs脚本 vbs代码如下 Dim a,b set a= WScri ...