【Django】路由配置:反向解析、重定向

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【Django】路由配置:反向解析、重定向相关的知识,希望对你有一定的参考价值。

参考技术A 简单的路由配置

【注意事项】:

(1):若要从URL 中捕获一个值,只需要在它周围放置一对圆括号。
(2):不需要添加一个前导的反斜杠,因为每个URL 都有。例如,应该是^articles 而不是 ^/articles。
(3):每个正则表达式前面的'r' 是可选的但是建议加上。它告诉Python 这个字符串是“原始的” —— 字符串中任何字符都不应该转义
(4):urlpatterns中的元素按照书写顺序从上往下逐一匹配正则表达式,一旦匹配成功则不再继续

在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。

在需要URL 的地方,对于不同层级,Django 提供不同的工具用于URL 反查:

反向解析的过程:用户通过 /login/ 这个接口 到达urls.py,然后通过 path("login/",views.login,name="log") 到达 views.py(用于视图函数)

在实现逻辑功能时,可能会需要实现重定向的功能。

(1)、通过redirect函数或HttpResponseRedirect函数硬编码的形式

(2)、通过URLconf路由命名空间的形式。

(3)、如果在逻辑函数中不做任何处理,可以直接在url中配置。

Django模板--反向解析

1.当某一个url配置的地址发生变化时,页面上使用反向解析生成地址的位置不需要发生变化

(1)根据url正则表达式的配置动态的生成url

(2)在项目urls中包含具体应用的urls文件时指定namespace

技术分享图片

(3)在应用的urls.py文件的url中加name

技术分享图片

2.在模板文件中使用

技术分享图片

(1)

技术分享图片

3.在重定向中使用

(1)格式
技术分享图片

(2)例子
技术分享图片

以上是关于【Django】路由配置:反向解析、重定向的主要内容,如果未能解决你的问题,请参考以下文章

Django之路由层 (有名和无名分组 反向解析 路由分发 名称空间)

反向解析与重定向 | Django开发

Django模板--反向解析

53.django路由层的简单配置及反向解析

django之路由层

Django之路由(urls)层