2016-12-07 7 views

答えて

2

これは、必要な値を返す関数(など、つまりという名前で呼び出すことができる)を受け入れることができるという意味です。

def callableForChoices(): 
    return [("Value1", "Name1"), ("Value2", "Name2"), ("Value3", "Name3")] 

forms.ChoiceField(choices=callableForChoices) 

これは、通常、選択肢を動的に作成する必要がある場合に使用されます。

+0

はい、私がやろうとしていることです。しかし、私がform.pyの外部から関数を呼び出すことができるかどうかは分かりますか? – Janic

+0

絶対に。それをインポートして、他の方法と同じように使用してください。 – joeb

1

私は考えることができる最も簡単な例:

もちろん
DAY_CHOICES = (
    ('2016-01-02', 'Today'), 
    ('2016-01-01', 'Yesterday'), 
) 

forms.ChoiceField(choices=DAY_CHOICES) 

、これらは静的な値であることが望ましいではありません。だから、ここで最高の選択肢は呼び出し可能です。

def get_days(): 
    return (
     (date.today(), 'Today'), 
     (date.today() - timedelta(1), 'Yesterday'), 
    ) 

forms.ChoiceField(choices=get_days) 
+0

ありがとうございました! forms.pyの外から関数を呼び出すことは可能でしょうか? – Janic

+0

もちろん、別のモジュールからインポートするだけです。 – lucasnadalutti

関連する問題