Django视图函数中如何在UI展示变量?求解决pro变量不显示问题
问题原因
你在模板里用{{form.pro}}尝试显示变量,但pro是通过上下文传递的独立变量,并非TestForm表单类中的字段,所以模板无法识别这个表达式,导致无法显示。
解决方案
1. 直接渲染上下文变量
把模板里的{{form.pro}}替换为{{pro}},就能直接展示session中获取到的pro值。如果需要更友好的展示样式,可以结合HTML标签:
<form action ="{% url 'test' %}" method="POST"> <div class="form_data"> {% csrf_token %} <br><br> {{form.myfield}} <label><b>Git Id</b></label> <br><br> <br><br> <!-- 直接渲染上下文变量pro --> <label><b>Request ID</b></label> <span>{{pro}}</span> <!-- 如果需要作为只读输入框展示 --> <!-- <input type="text" value="{{pro}}" readonly class="form-control"> --> <input type="submit" value="Submit" class="btn btn-success" /> </div> </form>
2. 确认session变量有效性
先查看视图控制台输出的Request ID from Index View : 后是否有实际值:
- 如果输出为
None,说明之前的函数未成功将j存入session,需要在前置视图中添加request.session['j'] = 目标值,同时确保Django的session配置正常(比如settings.py已启用session中间件)。 - 如果输出有值,仅修改模板即可正常显示。
额外逻辑提醒(可选)
你的视图中POST请求的逻辑存在不合理性:当前是表单验证失败时执行数据库更新,这通常不符合常规业务流程,建议调整判断逻辑(比如表单验证通过后再执行更新操作)。
内容的提问来源于stack exchange,提问作者Shaurya Rajput
相关产品推荐
相关产品推荐

