花了好长时间才明白这个name参数的含义。便写下来了备忘

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

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

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

使用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。

  这时如何让以前的 /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

Django中url name的更多相关文章

  1. Django中url匹配规则的补充

    Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...

  2. django中url路由配置及渲染方式

    今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...

  3. django中url 和 path 的区别

    django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls  url path 与 url 是两个不同的模块,效果都是响应返回 ...

  4. django 中url与path小记

    1. 在django 2.0中增加了一些新的特性 更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-frie ...

  5. Django——URL详解/Django中URL是如何与urls文件匹配的

    URL标准语法 protocol://hostname[:port]/path/[:parameters][?query]#fragment https://i.cnblogs.com/EditPos ...

  6. Django 中url补充以及模板继承

    Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...

  7. Django中url使用命名空间的错误

    出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) ...

  8. Django中URL有关

    django 模板中url的处理   在模板中直接添加‘/home’这样的链接是十分不推荐的,因为这是一个相对的链接,在不同网页中打开可能会返回不一样的结果. 所以推荐的是 1 <a href= ...

  9. django中url,静态文件,POST请求的配置 分类: Python 2015-06-01 17:00 789人阅读 评论(0) 收藏

    平时使用的是pycharm,所以这篇文章主要也是使用pycharm默认创建的django项目为基础进行讲解.项目目录如下图: 1.URL的配置 当创建好项目后,运行项目就可以看到django默认的页面 ...

  10. Django中url的反向查询

    明确几个概念: application namespace:   正在部署的app的名称,一个app的多个实例应该具有相同的application namespace.   可以通过在URLconf模 ...

随机推荐

  1. Java+Selenium+Testng自动化测试学习(三)— 断言

    1.修改Login类加入断言: 断言:检查我们操作页面后得到的结果与我们预期的结果是否一致. 2.使用xml文件运行所有的测试类: Login类写入两个测试用例: package com.test; ...

  2. 快速排序 QuickSort (C++迭代,递归)

    /* * QuickSort.h * 快速排序(将每一个元素转换为轴点元素) * Created on: 2020年2月12日 * Author: LuYonglei */ #ifndef SRC_Q ...

  3. java i++与++i的区别

    i++是先赋值,然后再自+1:++i是先自+1,后赋值. 用代码表示就是: 若 a = i++; 则等价于 a=i;i=i+1; 而 a = ++i; 则等价于 i=i+1;a=i; 例子: int ...

  4. 怎么把html页面部署到云服务器上

    1,下载nginx 2,把页面放置到云服务器上 3,通过配置nginx conf下的nginx.conf文件,就可以通过ip:port访问到了 链接:https://www.cnblogs.com/f ...

  5. 后端工具——Maven——初篇——目录

    目录 Maven的知识体系包括四个部分.Maven的配置文件,Maven命令,Maven生命周期,Maven插件.在介绍Maven之前,首先需要介绍如何安装Maven. 安装:介绍Maven在Linu ...

  6. Linux - Shell - find - 基础

    概述 find 基础 背景 查找文件 人的记忆能力, 是有限的 计算机里的文件数量, 虽然不是无限, 但是也不少 要去找那些 记不清楚的文件, 必然要用查找 准备 OS centos7 用户 root ...

  7. ASCII编码,将英文存储到计算机

    前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符. 可想而 ...

  8. 在同一个tomcat下部署多个springboot项目时,springboot项目无法正常启动的问题

    这个问题是基于,不使用springboot内置的tomcat会产生(即使用自己的tomcat时). 今天在部署springboot项目的时候遇到了一个问题,怎么部署都访问不了,在网上查了很多原因,什么 ...

  9. NW.js构建桌面应用

    最近要做个桌面的应用,用起来也方便.找了一圈发现NW.js挺容易上手,分享给大家. NW.js 官网https://nwjs.io/ 1.下载适合当前版本的js [这里下载的SDK版本,方便后续调试] ...

  10. es8中对string补白的方式

    //允许将空字符串或其他字符串添加到原始字符串的开头或结尾for(let i = 1; i < 32; i++) { if(i < 10) { console.log(`0{i}`) }e ...