2012-05-12 17 views
0

我在輸入字段(IntegerField)中嘗試了整數零,但是這個零從未出現在提交後顯示。在Django中零(Integer)被視爲空白還是空的?

這是我的模板的一部分:

{{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拋出「真」,即它是空白的,如果我使用零作爲輸入。這是正確的,我能克服這個嗎?

回答

5

在Python中,所有以下的評價爲False

'', "", 0, [], {},(), False, None 

所以,user_date_table.june_11_steps爲0,則{% if not user_date_table.june_11_steps %}將被評估True和該塊將被執行。

更新:對於解決方案,

  1. 如果user_date_table沒有,而你顯示形式發生在你的情況下,或者如果它是空的,你可以使用

    {% if not user_date_table%} 
    
  2. 傳遞另一個值添加到您的模板,如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... 

但第一種方法是總是更好。

+0

好的,謝謝你的澄清! – Bebe