利用Django路由项的别名(name)对路由进行反向解析

在Django的函数path()中,可以给一条路由进行命名,然后在视图函数或模板HTML文件中进行调用,这样的好处是:只要路由的name不变,那么修改了URL具体的路由,也不用去更改视图函数或模板HTML中的相关代码,这样就增强了程序的可移植性和健壮性,避免了直接硬编码URL路径,而是使用URL名称,使得代码更加灵活和可维护。

实例如下:
E:\Python_project\P_001\myshop-test\myshop\myshop\urls.py 中的代码:

from django.urls import path
from app1 import views

urlpatterns = [
    path('index/', views.index, name='URL0'),
]

E:\Python_project\P_001\myshop-test\myshop\app1\views.py 中的代码:

from django.shortcuts import render  # 默认导入的模块
from django.urls import reverse

# Create your views here.


def index(request):
    # 在视图函数中使用reverse方法进行反向解析
    print('views函数中使用reverse解析的结果:' + reverse('URL0'))

    # 在模板的HTML中进行反向解析
    return render(request, 'index.html')  # 将渲染结果输出到index.html模板中

"E:\Python_project\P_001\myshop-test\myshop\templates\index.html"中的代码:

<div>
    在HTML中使用url标签进行反向解析
    <br>
   {% url 'URL0' %}
</div>

关于上面的代码{% url 'URL0' %}的详细解释,请参见我的另一篇博文:
https://blog.csdn.net/wenhao_ir/article/details/131304640

运行Django应用:

CD E:\Python_project\P_001\myshop-test\myshop
E:
python manage.py runserver 127.0.0.1:8031

浏览器中访问下面的URL,效果如下:

http://127.0.0.1:8031/index/

在这里插入图片描述
在这里插入图片描述
本篇博客源码下载地址:
https://pan.baidu.com/s/1aj_1cPTQqgKZUzViBiAO5A?pwd=gzyb

猜你喜欢

转载自blog.csdn.net/wenhao_ir/article/details/131304147