命名URL和反向解析

  在网页中某些要提交的地址等,需要改变的时候,此时网页过多,如果一个一个的去改,工作量巨大,这时就可以用到命名url,在html文件的模版中,只写命名,这样当需要我们改变urls.py中的url映射的网页地址时,就方便多了

一.普通的URL

urls.py

from django.conf.urls import url
from app01 import views urlpatterns = [ url(r'^blog/', views.blog, name='xxx') ]
# name='xxx'是url的命名

 url的命名使用:

​   1.视图函数

   2.html网页的模版中

1.视图函数

  views.py

from django.shortcuts import render, HttpResponse, redirect, reverse

def blog(request):
url = reverse('xxx')
print(url)
return HttpResponse('blog')

  这时,我们访问地址就可以得到反向的url,views.py中的函数改为

def blog(request):
return redirect(reverse('xxx')) # ----> /app01/blog [blog就是xxx找到的]

2.模版中使用

  语法:

{% url 名字%}

  示例:

<a href="{% url 'xxx' %}">url命名和反向解析</a>

二.reverse使用分组的形式

1.视图函数中应用

  urls.py

from django.conf.urls import url
from app01 import views urlpatterns = [
  url(r'^home/', views.home, name='home'),
  url(r'^blog/(\d{4})/([1-9]{2})', views.blog, name='xxx'),
]

  veiws.py

from django.shortcuts import render, HttpResponse, redirect, reverse

def blog(request,y,m):
  url = reverse('xxx')
  print(url)
  return redirect(reverse('xxx'))
  
def home(request):
  url = reverse('xxx',args=('2018','12'))
  print('home的url',url)              # /blog/2018/12
  return HttpResponse('HOME页面')

  这时候你访问 http://127.0.0.1:8000/home/ 就会得到 home的url /blog/2018/12

2.模版中使用

{% url 'xxx' 参数%}

三.reverse使用命名分组

1.视图函数中的应用

  urls.py

from django.conf.urls import url
from app01 import views urlpatterns = [
  url(r'^home/', views.home, name='home'),
  # url(r'^blog/(\d{4})/([1-9]{2})', views.blog, name='xxx'),
  url(r'^blog/(?P<year>\d{4})/(?P<month>[1-9]{2})', views.blog, name='xxx'),
]

  views.py

from django.shortcuts import render, HttpResponse, redirect, reverse

def blog(request,y,m):
  url = reverse('xxx')
  print(url)
  return redirect(reverse('xxx')) def home(request):
  # url = reverse('xxx',args=('2018','12'))
  # print('home的url',url) # 也可以使用
 
  url = reverse('xxx', kwargs={'year':'2018','month':'12'})
  print('home的命名的url', url)
 
  return HttpResponse('HOME页面')

2.模版中使用

  示例:

{% url 'del_pub' year='2018' month='12' %}    // del_pub别名

django系列3.2--url的别名和反向解析 reverse的更多相关文章

  1. Django 的路由层URL 分组 路由分发 反向解析

    URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调 ...

  2. django url别名和反向解析 命名空间

    url别名和反向解析 我们平时写的url名字都是死的,如果项目过大,需要项目中某个文件名改动一下,那么改动起来就不是一般的麻烦了,所以我们就在定义的时候给url起一个别名,以后不管哪个文件中运用都是用 ...

  3. day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间

    day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...

  4. 分组,命名分组,url的命名和反向解析

    1.位置分组 匹配到参数,按照位置参数的方式传递给视图函数 视图函数需要定义形参接收变量 1.写在url里面的: # 删除 url(r'^del_class/(\d+)',views.del_clas ...

  5. URL的命名和反向解析

    1. 分组 url(r'^del_publisher/(\d+)', views.del_publisher), 匹配到参数,按照位置参数的方式传递给视图函数 视图函数需要定义形参接收变量 2. 命名 ...

  6. diango url的命名和反向解析

    url的命名和反向解析 静态路由 url(r'^login/', views.login,name='login'), 反向解析ht 模板 {% url 'login' %} --> '/app ...

  7. url的命名与反向解析

    url命名和反向解析  1. 命名   # url(r'^press_list/$', views.press_list,name='press_list'),     url(r'^pre/$', ...

  8. day 46 Django 学习3 数据库单表操作以及反向解析

    前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变         2:反向解析之 ...

  9. Django之url反向解析

    在urls.py文件中,在进行url映射时,为请求的url命个名,以便在模板页面或者views.py视图中可以进行反向解析,同时在修改了url映射的请求路径,名称不变的情况下,不再修改模板页面或者视图 ...

随机推荐

  1. socket与http的区别

    ---------------------------------------------------------------------------------------------------- ...

  2. YII cookie和session的使用方法

    设置cookie://首先新建cookie$cookie = new CHttpCookie(‘mycookie’, ‘this is my cookie’);//定义cookie的有效期$cooki ...

  3. Docker dockerfile-maven-plugin 使用

    https://blog.csdn.net/liubingyu12345/article/details/79015966 背景: 环境阿里云CentOs7下面Docker部署Spring boot ...

  4. LUA表的引用理解

    --lua中引用类型都是分配在堆上的 --因此,我们在使用LUA的table时,可尽可能的使用表的引用,而不需要拷贝表里的元素 --比如,通过RPC协议传来一个表A,我们想要缓存这个表,只需要保存该表 ...

  5. 关于setConnectTimeout和setReadTimeout的问题

    1.问题描述 这几天测试重构后的下载框架,发现在下载过程中如果网络中断或网络较差,个别应用的下载就会阻塞卡住,一直卡在 “正在下载 xx%”.   2.问题排查和定位 思考:网络差不应该报网络异常的错 ...

  6. Android gralloc 模块实例

    本文实例为借鉴 http://www.ixueyi.com/jingyan/1865079.html 该文档后所写.主要是android的gralloc操作显存的模块实例,如有不正确的地方欢迎指出谢谢 ...

  7. mac 下 python链接mysql

    安装过程 :http://blog.topspeedsnail.com/archives/6018 注意 报错的话要先装一个东西 http://cdn.mysql.com/Downloads/Conn ...

  8. Thrift分析

    [Thrift分析] Thrift定义一套IDL(Interface Definition Language)用于描述接口,通常后缀名为.thrift,通过thrift程序把.thrift文件导出成各 ...

  9. Inclusion–exclusion principle(动态规划)

    QUESTION: 把(2, 3, 5, 7)称为primes,能被primes整除的我们称之为Walprimes,比如 -21, -30, 0, 5, 14 是, 而-121, 1, 143 etc ...

  10. Unity Editor(一)OnInspectorGUI的重写与面板的创建

    http://blog.csdn.net/husheng0/article/details/52568027