Django 路由层之反向解析

随着功能的增加,路由层 urls.pyurl 发生变化,就需要去更改对应的视图层 views.py 和模板层 .htmlurl,非常麻烦,不便维护。
这时我们可以利用反向解析,当路由层 url 发生改变,在视图层和模板层动态反向解析出更改后的 url,免去修改的操作。
反向解析一般用在模板中的超链接及视图中的重定向。

怎么使用呢,很简单,在 urls.py 中给路由起别名,name="路由别名"

path("login/", views.login, name="login")

views.py 中,从 django.urls 中引入 reverse,利用 reverse("路由别名") 反向解析:

return redirect(reverse("login"))

在模板 templates 中的 HTML 文件中,利用 {% url "路由别名" %} 反向解析。

<form action="{% url 'login' %}" method="post">
原文地址:https://www.cnblogs.com/richmanwu/p/13607966.html