无名分组(将加括号的正则表达式匹配到的内容当做位置参数自动传递给对应的视图函数)
url(r'^test/(\d+)/',views.test), # 匹配一个或多个数字 def test(request,xxx):
print(xxx)
return HttpResponse('test') 有名分组(将加括号的正则表达式匹配到的内容当做关键字参数自动传递给对应的视图函数)
url(r'^test/(?P<year>\d+)/',views.test), # 匹配一个或多个数字 def test(request,year):
print(year)
return HttpResponse('test') 注意:无名分组和有名分组不能混着用!!!
url(r'^test/(\d+)/(?P<year>\d+)/',views.test) 但是支持用一类型多个形式匹配
无名分组多个
url(r'^test/(\d+)/(\d+)/',views.test),
有名分组多个
url(r'^test/(?P<year>\d+)/(?P<xxx>\d+)/',views.test), 反向解析(根据名字动态获取到对应路径)
from django.shortcuts import reverse url(r'^index6668888/$',views.index,name='index')
# 可以给每一个路由与视图函数对应关系起一个名字
# 这个名字能够唯一标识出对应的路径
# 注意这个名字不能重复是唯一的 前端使用
{% url 'index' %}
{% url '你给路由与视图函数对应关系起的别名' %} 后端使用
reverse('index')
reverse('你给路由与视图函数对应关系起的别名') 无名分组反向解析
url(r'^test/(\d+)/',views.test,name='list') 后端使用
print(reverse('list',args=(10,)))
前端使用
{% url 'list' 10 %} user_list = models.User.objects.all() url(r'^edit/(\d+)/',views.edit,name='edit')
前端模板语法
{%for user_obj in user_list%}
<a href='edit/{{ user_obj.pk }}/'></a>
{% endfor %} 视图函数
from django.shortcuts import reverse
def edit(request,edit_id):
url = reverse('edit',args=(edit_id,)) 模板
{% url 'edit' edit_id %} 有名分组反向解析
后端使用
# 后端有名分组和无名分组都可以用这种形式
print(reverse('list',args=(10,)))
# 下面这个了解即可
print(reverse('list',kwargs={'year':10}))
前端使用
# 前端有名分组和无名分组都可以用这种形式
{% url 'list' 10 %}
# 下面这个了解即可
{% url 'list' year=10 %}
总结:针对有名分组与无名分组的反向解析统一采用一种格式即可
后端
reverse('list',args=(10,)) # 这里的数字通常都是数据的主键值
前端
{% url 'list' 10 %}
反向解析的本质:就是获取到一个能够访问名字所对应的视图函数

Django 的反向解析与有无名分组的更多相关文章

  1. Django【第2篇】:Django之反向解析

    Django框架之第二篇 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中). view ...

  2. Django url反向解析与路由分发名称空间

    url反向解析 url.py from django.conf.urls import url from django.contrib import admin from app01 import v ...

  3. django之反向解析和命名空间

    背景:当我们页面中存放的请求路径与url文件中的url一致时,如果url改了是不是所有的请求路径都要跟着改?显然不现实,这里我们就要用到反向解析. 如下图所示,输入url后会跳转到登录页面,输入用户名 ...

  4. django 路由层(反向解析)03

    目录 ORM表关系建立 Django请求生命周期流程图 urls.py 路由层 无名分组 有名分组 反向解析 无名分组的反向解析 有名分组的反向解析 以编辑功能为例 路由分发 名称空间 伪静态 虚拟环 ...

  5. django初步--+urls解析

    1.静态文件配置: 你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的. 2.django如何给用户开设资源接口 ...

  6. Django正向解析和反向解析

    转载:https://blog.csdn.net/jeekmary/article/details/79673867 先创建一个视图界面 urls.py index.html index页面加载的效果 ...

  7. django反向解析和正向解析

    Django的正向解析和反向解析 先创建一个视图界面 urls.py index.html index页面加载的效果 正向解析 test/?result=1 所谓正向解析就是直接在这里写地址 向url ...

  8. $Django 路由层(有,无名分组、反向解析、总路由分发、名称空间、伪静态)

    1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$')  -第二个参数是视图函数(不要加括号)  -url(r'^admin/', admin.site.urls), 注: ...

  9. django之路由分组,反向解析,有名,无名分组

    路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态的概念 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',vi ...

随机推荐

  1. Appium常用操作之「微信滑屏、触屏操作」

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.滑屏操作 1.访问之后,马上就滑屏可以吗? 2.连续实现 2 次滑屏 3.代码 二.模拟触屏 ...

  2. .NetCore中简单使用EasyNetQ

    前言 我们在.Net中使用RabbitMQ,最原始的就是基于RabbitMQ.Client进行编码,在这个过程中我们需要通过代码约定和维护队列,Exchange等.如果是自行编码封装通用型的Rabbi ...

  3. python开发基础(二)运算符以及数据类型之tuple(元组)

    # encoding: utf-8 # module builtins # from (built-in) # by generator 1.147 """ Built- ...

  4. 想springboot启动完成后执行某个方法

    如题,很多时候,我们都需要在springboot项目启动后初始化化一些自己的数据 原文地址:https://www.jianshu.com/p/f80f833ab8f6 实现方法有2个. 一.Appl ...

  5. solr 文档一

    [在此处输入文章标题] 参考博客: http://blog.csdn.net/matthewei6/article/details/50620600 基础环境搭建 solr版本5.5.5: 一.sol ...

  6. 【Kata Daily 190924】Difference of Volumes of Cuboids(长方体的体积差)

    题目: In this simple exercise, you will create a program that will take two lists of integers, a and b ...

  7. 记一次因python相互导入包的报错

    先丢报错信息:AttributeError:module 'utils.configHttp' has no attribute 'ConfigHttp' 开始以为是导入包的常规问题,上网搜了一下解决 ...

  8. 23longest-consecutive-sequence

    题目描述 给定一个无序的整数类型数组,求最长的连续元素序列的长度. 例如: 给出的数组为[100, 4, 200, 1, 3, 2], 最长的连续元素序列为[1, 2, 3, 4]. 返回这个序列的长 ...

  9. 内网渗透 day1-基础

    粘滞键和放大镜 1. 到/windows/system32下用takeown改变该文件夹下的文件拥有权(因为粘滞键和放大镜都在system32文件夹下) cd /Windows/system32    ...

  10. vs code远程开发

    VS Code如何配置远程开发 你是如何远程开发的?还在使用FTP/SFTP同步文件?那你out了,有了宇宙第一IDE:VS就不需要这么麻烦了,一起学习一下吧. 第一步,安装Remote SSH插件 ...