我在我的表單類中定義了一個名爲states
的Django ChoiceField。Django ChoiceField - 如何顯示當前選定的值?
class StateForm(forms.Form):
def __init__(self, *args, **kwargs):
super(StateForm, self).__init__(*args, **kwargs)
self.fields['states'] = forms.ChoiceField(widget=forms.Select,
choices=OPTIONS_STATE)
self.initial['states'] = 'Any'
我還設置了初始值「任意」,因爲我想在下拉說「任何」默認。
在我的views.py
,get_context_data()
函數中,我將它添加到發送到html的上下文中。
context['state_form'] = StateForm()
在我的HTML,我可以使用Django的特殊語言
{{ state_form.states }}
到目前爲止好渲染的下拉列表。我在我的頁面看到一個下拉菜單,默認值是'Any'。我可以點擊它來選擇其他值,在這一點上我的JavaScript代碼會發送一個基於我的形式的HTTP請求。它會用篩選的數據重新加載頁面。我能夠完成所有這些。
問題是,一旦頁面重新加載,下拉菜單仍然會顯示'Any'。我希望下拉菜單顯示先前選擇的數據。但我不知道如何。
由於您將所選值傳遞迴您的視圖,爲什麼不執行'context ['state_form'] = StateForm(initial = {'states':dropdown_value})''。 –