Django TemplateSyntaxError求助:无法解析'1:'中的剩余部分':'
Django TemplateSyntaxError 问题排查与解决
1. 模板语法错误(核心问题)
你的challege.html模板中,{% if %}和{% else %}语句后多了冒号,Django模板语法不允许这种写法,这是导致解析错误的直接原因。
修正后的challege.html代码:
{% if month == 1 %}<h1>This is {{ text }}</h1>{% else %}<p>This is {{ text }}</p>{% endif %}
2. 视图上下文变量传递错误
views.py中上下文字典的键使用了变量month,这会把URL传入的month值作为键名,而非字符串"month",导致模板无法正确获取month变量。
修正后的views.py代码:
def monthly_challege(request, month): return render(request, "challeges/challege.html", { "text": "Your Url Is Empty", "month": month # 键改为字符串"month",确保模板能正确接收变量 })
3. URL路径参数类型优化(可选)
urls.py中<month>默认传递的是字符串类型,模板中与整数1比较可能出现逻辑不符的情况,建议指定参数类型为整数:
修正后的urls.py代码:
urlpatterns = [ path("<int:month>", views.monthly_challege), ]
内容的提问来源于stack exchange,提问作者Path Parakh
相关产品推荐
相关产品推荐

