Django视图创建的对象无法在模板渲染,问题排查求助
问题原因及解决方法
你的问题出在视图中context字典的键值对写反了,这导致模板无法找到名为sousei的变量。
错误分析
在视图代码里,你写的context是:
context = { sousei_obj : 'sousei', }
这意味着你把Sousei对象作为字典的键,而字符串sousei作为对应的值。但Django模板是通过字典的键名来调用变量的,模板里你用的是{{ sousei }},但此时context里根本没有sousei这个键,自然会进入{% else %}分支显示“No data.”。
修正代码
把context的键值对调换位置,让键是模板中使用的变量名sousei,值是创建好的对象sousei_obj:
context = { 'sousei': sousei_obj, }
验证逻辑
修正后,模板里的{% if sousei %}会检测到context中存在sousei变量(即你创建的Sousei对象),从而渲染对应的字段内容。
内容的提问来源于stack exchange,提问作者rolandist_scim
相关产品推荐
相关产品推荐

