使用场景:

当我们在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. jQuery---版本问题

    jQuery的版本 官网下载地址:http://jquery.com/download/ jQuery版本有很多,分为1.x 2.x 3.x 大版本分类: 1.x版本:能够兼容IE678浏览器 2.x ...

  2. jdk8-》reduce操作

    什么是reduce操作 聚合操作,中⽂意思是 “减少” 根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值 常⽤⽅法⼀: Optional<T> reduce(BinaryOp ...

  3. Jarvis OJ - [XMAN]level1 - Writeup

    Jarvis OJ - [XMAN]level1 - Writeup M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7594173.html 题目: 分 ...

  4. jvm 结构分析

    jvm区域总体分两类,heap区和非heap区.heap区又分: Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分 ...

  5. leetcode全部滑动窗口题目总结C++写法(完结)

    3. 无重复字符的最长子串 A: 要找最长的无重复子串,所以用一个map保存出现过的字符,并且维持一个窗口,用le和ri指针标识.ri为当前要遍历的字符,如果ri字符在map中出现过,那么将le字符从 ...

  6. 手机大厂必备测试技能-GMS 认证

    GMS认证背景 在之前的一篇文章有给各位小伙伴们科普过关于GMS的作用,http://www.lemfix.com/topics/266 "墙"内的小伙伴可能很少会用到这样的服务, ...

  7. MyBatis 逆向工程——根据数据表自动生成model、xml映射文件、mapper接口

    MyBatis Generator(MBG)的使用 MBG可以根据数据表生成对应的model.xml映射文件.mapper接口,只是简单的生成,还需要根据需求修改. 1.下载jar包 https:// ...

  8. java8快速实现分组、过滤、list转map

    public class TestEntity { private String c1; private String c2; public TestEntity(){} public TestEnt ...

  9. 2019-08-01 纪中NOIP模拟B组

    T1 [JZOJ2642] 游戏 题目描述 Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有一个正整数.当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并 ...

  10. lighting

    lighting lighting 是基于 nodejs 构建的一个命令行工具,使用 lighting 可以快速搭建 H5.APP.RestAPI 的开发工程环境(结合 VSCode 最佳).本地开发 ...