2012-05-12 8 views
0

入力フィールド(IntegerField)で整数ゼロを試しましたが、送信後にゼロが表示されることはありません。Djangoでゼロ(整数)が空白または空白として扱われていますか?

これは私のテンプレートの一部です:

{{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は、私は、入力としてゼロを使用する場合、すなわち、それは空白で、「真」投げると思います。これは正しいのですか?これを克服できますか? Pythonで

答えて

5

は、以下のすべてがFalseとして評価される:

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

そこで、user_date_table.june_11_stepsは次に{% if not user_date_table.june_11_steps %}True評価され、そのブロックが実行され、0です。

UPDATE:あなたがフォームを表示しながら、解決のために、

  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

関連する問題