我在输入字段(IntegerField)中尝试了整数零,但是在提交后,该零似乎从未显示过。
这是我模板的一部分:
{{user_date_table.june_11}}
{% if not user_date_table.june_11_steps %}
<form action="/steps_count/index/{{ username }}/table/" method="post">
{% csrf_token %}
<input type="text" autocorrect="off" autocapitalize="off" name="june_11_steps"/>
<input type="submit" value="Add"/>
</form>
{% else %}
{{user_date_table.june_11_steps}}
{% endif %}
我认为if not user_date_table.june_11_steps
抛出“True”,即如果我使用零作为输入则为空。这是正确的,我可以克服这个吗?
答案 0 :(得分:5)
在python中,以下所有内容都被评估为False
:
'', "", 0, [], {}, (), False, None
因此,user_date_table.june_11_steps
为0,然后{% if not user_date_table.june_11_steps %}
将被评估True
,并且该块将被执行。
更新:对于解决方案,
如果user_date_table
在显示表单时未在您的上下文中发生,或者如果它为空,则可以使用
{% if not user_date_table%}
将另一个值传递给您的模板,例如display_result
,并使用它来检查将显示哪个字段集。
views.py:
if request.POST: #saving the post data
display_result = True
template.html
{% if not display_result %}
<form action="/steps_count/inde...
但第一种方法总是更好。