Django模板语法错误:无法解析product.tk参数问题排查
Django TemplateSyntaxError 问题定位与解决
错误核心原因
- 模板
url标签内,路由名称与传递参数之间缺少空格,导致Django无法正确解析参数边界 - 模板中使用的路由名称
'product-detail',与urls.py里定义的路由名称'main-product-detail'不匹配
代码修正方案
1. 修正home.html中的链接代码
原错误代码:
<a href="{% url 'product-detail'product.tk %}">
修正后(补充空格+匹配正确路由名称):
<a href="{% url 'main-product-detail' product.tk %}">
2. 确认urls.py路由配置(无需修改,保持现有正确配置)
path('products/<int:tk>/detail/', views.product_detail, name='main-product-detail')
关键注意点
- Django的
{% url %}标签语法要求:路由名称和传递的参数之间必须用空格分隔 - 模板引用路由时,必须完全匹配urls.py中路由的
name属性值
内容的提问来源于stack exchange,提问作者Roy Akany
相关产品推荐
相关产品推荐

