{% url 'url_name' args1 args2 %}
我们解析一下它的的含义,其中 app_name 代表我们创建的应用的名字此处是 index;url_name 是 url 自定义的别名,可以在配置路由地址时通过 path 的 name 属进行设置。而后面的 args1、args2 参数是用于定义动态的 url 即带有查询的字符串的 url。下面我们通过已经讲过的实例代码对 url 标签进行讲解。path('Hello_MyWeb/',views.Hello_MyWeb,name='hello')
然后我们在 templates 目录下创建一个名为 test_url 的 html 文件,添加一下代码:<p><a href="{% url 'hello' %}" >点我看C语言中文网</a></p>最后我们在 views.py 文件中创建一个 test_url 函数,如下所示:
def test_url(request): return render(request,'test.url')在浏览器地址栏访问 127.0.0.1:8000/test_url/ ,通过点击可以跳转到 Hello_MyWeb 页面。如果你想跳转到其他的页面,只需要将给相应路由配置 name 属性即可,而我们无需做其他的改动。name 参数有非常重要作用,url 的反向解析也是通过它与
reverse()
函数配合使用实现的。这个知识点后续还会讲到。提示:url 标签主要用来实现页面之间的跳转,在分布式路由中使用 {% url 'app_name:url_name' args1 args2 %} 即应用名:url 别名,在本例中是 index:hello。
path('Hello_MyWeb/<int:id>',views.Hello_MyWeb,name='hello')
改动 Hello_MyWeb 视图函数,为其添加 id 参数,如下所示:def Hello_MyWeb(request,id):
再把模板中的标签改写成如下格式:<p><a href="{% url 'hello' 1 %}" >点我看C语言中文网</a></p>通过访问 127.0.0.1/test_url 地址,可以得到如下显示结果:
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有