超链接的href属性不能直接是另一个模板的名称,而是要通过如下步骤
1、创建视图函数,视图函数中,渲染要跳转到的页面,如
def get_detail(request):
return render(request, ‘news/detail.html’)
2、创建路由规则,并为规则的name属性赋值,即所谓的路由名称
path(‘detail/’,get_detail,name=‘detail’)
3、超链接中使用url指定要跳转的路由名称
<a href="{% url ‘detail’ %}">详情</a>
总结
1、详情页面只有1个,我们之所以点击不同的新闻标题或者商品名称,看到的是不同的详情页,是因为此页面的数据是动态生成
2、实现思路
- 为超链接的href属性指定要跳转的路由名称,并通过问号传值的方式绑定参数
- 为详情页编写视图函数,此函数中接受传递的参数,并匹配的到的数据,将数据分配给模板
- 在 urls.py 中,为详情视图函数创建路由时,要指定 name 属性,因为第一步中的 href 属性值就是这个 name 属性值