1.name参数:
形式:path(“goods/”, views.goods, name=“abc”)
给路由goods/ 起个别名,方便在模板中引用该路径
2.额外参数:
形式: path(“goods/”, views.goods, {“goods_name”: goods_name})
该参数没有具体命名,只要是字典形式即可,而且该参数只能在视图函数中读取和使用
3.context参数
render(request, “index.html”, context={“title”: "首页’})
对html模板的变量赋值,以字典格式表示,默认情况下是一个空字典,context关键字可省略
如:render(request, “index.html”, {“title”: "首页’})

话不多说,代码伺候:

urls.py
path("goods/", views.goods, name="goods"),
path("goods_info/", views.goodsInfo, name="goods_info",{"goods_name":goods_name})

views.py
def goods(request):
	return render(request, 'index.html',context={"title":"首页"})
	
def goodsInfo(request,goods_name):
	return render(request, 'goods_info.html',context={"goods_name": goods_name})
	# 视图函数接收path传递过来的额外参数,并通过render函数的context参数传递给模板goods_info.html


index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{title}}</title> # 接受传递过来的context参数
</head>
<body>
    <a href="{% url 'goods_info' %}">跳转到商品详情页</a> # 使用name参数
</body>
</html>



goods_info.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>商品详情页</title> 
</head>
<body>
    {{goods_name}}   # 展示接收到的context参数
</body>
</html>


Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐