zoukankan      html  css  js  c++  java
  • django路由的反向解析

    什么是路由的反向解析

    我们的路由都是一个匹配关系,对应一个处理的视图函数,

    如果我们的匹配关系发生了变化,那么与之对应的访问地址(可能前端直接url链接,

    也可能是后端的redrict跳转)都需要跟着发生改变

    这是费时费力,因此我们想到了一种动态解析url的方法,通过给相应

    的匹配关系起别名,而让与之对应的链接或者跳转,会根据别名动态解析前面的匹配关系

    这个动态解析url路径的过程就是反向解析

    反向解析实现的方式

    不传参反向解析

    我们先给后端的匹配关系起一个别名,这个别名任意取名都可以

    url(r'^test/', test, name='xxx')

    1、前端实现

      通过在链接处输入{% url '路由的别名xxx' %}

    <a href="{% url 'xxx' %}"></a>
    <form action="{% url 'xxx' %}"></form>

    2、后端实现

      后端通过reverse('别名')

    from django.shortcuts import redirect, reverse
    def tt(request):
        _url = reverse('xxx')
        return redirect(_url)

    传参反向解析

    上面说的都是函数不需要传参的,还有一种需要传参的路由匹配

    url(r'testsas/(d+)', test, name='xxx'),

    1、前端实现

      直接接着后面跟参数就行

    <a href="{% url 'xxx' 1 %}"></a>
    <form action="{% url 'xxx' 9 %}"></form>

    2、后端实现

      在reverse中加入args参数,以元组形式传参

    from django.shortcuts import redirect, reverse
    def tt(request):
        _url = reverse('xxx',args=(1,))
        return redirect(_url)
  • 相关阅读:
    命令行net time同步时间(内网)
    清理树莓派系统垃圾
    树莓派常用功能的安装和使用
    树莓派的媒体播放软件omxplayer
    树莓派安装FTP服务器
    Raspbian 中国软件源
    树莓派挂载和卸载U盘或移动硬盘
    树莓派上搭建NAS
    Aria2+yaaw+Chrome插件BaiduExporter实现百度网盘下载
    树莓派做下载机+Web服务器(Aria2下载+yaaw做UI+nginx)
  • 原文地址:https://www.cnblogs.com/hesujian/p/11285370.html
Copyright © 2011-2022 走看看