在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