当前位置 : 主页 > 编程语言 > python >

Django路由反向解析

来源:互联网 收集:自由互联 发布时间:2022-09-29
反向解析的概述和来由 ​ 在Django中提供了关于URL的映射的解决方案,可以做两个方向的使用 ​ 1.普通解析过程:由客户端的浏览器发起一个url请求,Django根据url解析,把url中的参数捕


  • 反向解析的概述和来由
  •          Django路由反向解析_django


    在Django中提供了关于URL的映射的解决方案,可以做两个方向的使用

    1.普通解析过程:由客户端的浏览器发起一个url请求,Django根据url解析,把url中的参数捕获,调用相应的视图,获取相应的数据,然后返回给客户端显示。

    2.反向解析:通过一个视图的名字,再加上一些参数和值,逆向获取相应的url。简单来说,反向解析(本质)就是指通过一些方法,得到一个结果,该结果可以访问到对应的url并触发视图函数的运行

    2. 什么是反向解析

    我们知道每个视图函数都有一个和其相对应的路由,但是如果它们之间的匹配关系发生了变化,那么与之对应的访问地址也需要跟着发生改变,这是极其不方便的。因此我们可以用一种动态解析 url 的方法来避免。我们使用 Path 语法提供的 name 属性给对应路由起别名,从而让与之对应的链接或者跳转,会根据这个别名来动态解析 url,这个动态解析 url 路径的过程就是反向解析。

    3. 反向解析的应用

    在模板层使用

    在视图函数的

    在处理模型

             Django路由反向解析_django_02


    上面我们使用 reverse 函数完成了视图函数的重定向,但是这里还要给大家简单介绍一下 reverse() 函数。在 Django中 reverse() 的定义如下所示:

    reverse(viewname,urlcnotallow=None,args=None,kwargs=None,current_app=None)

    它只有一个必填参数,其他都是可选参数。其中

    urlconf:这个属性用于决定当前的反向解析使用哪个 URLconf 模块,默认是根 URLconf;

    args:它用于传递参数,可以是元组或者列表,顺序填充 url 中的位置参数;

    kwargs:字典类型的传参,和 args 作用一样;

    current_app:它指定当前视图函数所在的 app,本例中是 index 应用。

    上一篇:【物理应用】油气井井底计算附Matlab代码
    下一篇:没有了
    网友评论