利用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值