目的:防止页面中url地址改变,其他与这个URL地址有关联的都要改,减少耦合度

使用:主要分为在html中和视图函数中的使用

HTML中的使用:

  如果我们在项目的url文件中通过include导入了应用的url,那么就要在include里面指定namespace,然后再在应用的url文件里面的每个url里指定name属性。如果是直接通过项目url调用应用的视图函数,则直接设置name属性就可以,我下面以第一种方式来阐述。

   HTML中使用,格式如下:

      没有参数时候:

        {% url 'namespace值:name值' %}   例如:{% url 'test: index'%}

      url的正则匹配带有分组的时候:

        1.带位置参数(没有通过正则表达式设置别名):

            {% url 'namespace值:name值' 参数值 %}  例如:{% url 'test: index' 1 %}

        2.带关键字参数(通过正则表达式设置了别名):

            {% url 'namespace值:name值' 关键字参数 %} 例如:{% url 'test: index' id=1 %}

在视图函数中的使用:

  视图函数中使用URL反向解析的时候需要导入reverse模块:

    from django.core.urlresolvers import reverse

    没有参数时候:

        reverse('namespace值:name值')  ------ 通过reverse函数返回的是一个带有url地址的字符串

      url的正则匹配带有分组的时候:

        1.带位置参数(没有通过正则表达式设置别名):

            reverse('namespace值:name值', args = 位置参数元组)

        2.带关键字参数(通过正则表达式设置了别名):

            reverse('namespace值: name值',  kwargs = 字典)

    

django的url反向解析的更多相关文章

  1. Django学习笔记之Django的url反向解析

    0x00 URL反向解析和三种不同的反向解析方式 Django中提供了关于URL的映射的解决方案,可以做两个方向的使用: 1.普通解析过程:由客户端的浏览器发起一个url请求,Django根据URL解 ...

  2. Django之url反向解析

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

  3. Django url配置 正则表达式详解 分组命名匹配 命名URL 别名 和URL反向解析 命名空间模式

    Django基础二之URL路由系统 本节目录 一 URL配置 二 正则表达式详解 三 分组命名匹配 四 命名URL(别名)和URL反向解析 五 命名空间模式 一 URL配置 Django 1.11版本 ...

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

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

  5. django命名url与url反向解析

    1.在urls.py路由中指定别名 2.在views.py视图文件中导入from django.shortcuts import render, redirect, reverse 3.也可从这里导入 ...

  6. python 之 Django框架(路由系统、include、命名URL和URL反向解析、命名空间模式)

    12.36 Django的路由系统 基本格式: from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名) ...

  7. Django路由系统-URL命名&URL反向解析

    命名URL和URL反向解析 前言 起始样式,HTML中的href是写死的,不能更改,如下示例代码: # urls中 urlpatterns = [ url(r'^admin/', admin.site ...

  8. 巨蟒python全栈开发django4:url反向解析图解&&模板渲染

    第一部分: 1.(1)知识点回顾: django回顾: ()下载安装 输入网址,a,form表单get post,爬虫 (请求)==>django项目服务端的url(r"index/& ...

  9. 04_Django-模板变量/标签/过滤器/继承-url反向解析

    04_Django-模板变量/标签/过滤器/继承-url反向解析 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn ...

随机推荐

  1. Chapter_9 DP : uva1347 tour (bitonic tour)

    https://cn.vjudge.net/problem/UVA-1347 这道题居然可以O(n^2)解决, 让我太吃惊了!!! 鄙人见识浅薄, 这其实是一个经典问题: bitonic tour. ...

  2. Python+Selenium+Pycharm

    我的环境是: 系统 Python Selenium win10 教育版64位 3.6.4 3.11.0 在Pycharm中安装好Selenium后,输入代码来测试: from selenium imp ...

  3. pytorch简介

    诞生 1.2017年1月,Facebook人工智能研究院(FAIR)团队在GitHub上开源了pyTorch,并迅速占领GitHub热度榜榜首. 常见深度学习框架简介 Theano 1.Theano最 ...

  4. angularjs 初始化方法执行两次以及url定义错误导致传值错误问题

    1.初始化方法执行两次以上的问题定义一个 route.如下所示:.state('main.channelQryDetail', { url:'/channelDetail/:channelNo/:pa ...

  5. Mybatis_1(认识)一个简单的HelloWorld

    1. 介绍: MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBatis可以使用简单的XM ...

  6. spring boot中jsp解析c标签方法

    pro.xml中添加jstl标签 <dependency><groupId>javax.servlet</groupId><artifactId>jst ...

  7. Python自学知识点----Day03

    cd指令说明 1).作用:切换工作目录. 2).   命令(注意空格)         含义 cd ~===cd             回到家目录 cd .                     ...

  8. 虚拟机设置IP

    方式NAT 版本信息VMware(14.1.1 build-7528167)和centos7 一,设置网络适配器: 二.设置虚拟网络 三.配置虚拟机(/etc/sysconfig/network-sc ...

  9. sqlhelp3

    using System; using System.Collections; using System.Collections.Specialized; using System.Data; usi ...

  10. 洛谷P4051 字符加密 [JSOI2007] SA

    正解:SA 解题报告: 传送门! 和工艺那题有点儿像鸭,,,反正肯定就都想到倍长然后SA拍个序嘛先 然后就做完了,,,我发现SA的题刷起来特别susi,,,基本上紫题级别的都just一个模板就欧克了最 ...