0
我有一個Django表單字段,一段時間,我通過使用time.strfrtime()函數將初始值設置爲當前時間。Django表單字段初始strfrtime值不更新
使用這種方法,當我第一次加載Django應用程序(通過執行python manage.py runserver)時,該字段最初正確填充當前時間。但是,隨後如果我重新加載頁面,則表單字段無法更新當前時間,而是反覆將應用程序隨時分發回來。但是,如果我修改了一個Django文件,比如forms.py或views.py,那麼當前時間會正確刷新。
在forms.py:
class EventForm(ModelForm):
end_time = forms.TimeField(label="Current time", initial=strftime("%I:%M %p"))
在views.py:
def index(request):
event_form = EventForm()
如何獲得END_TIME字段的初始值始終更新到當前的時間?
注:我知道我可以在初始數據傳遞給我的event_form = EventForm()代碼解決這個問題,比如:
event_form = EventForm(initial={'end_time':strftime("%I:%M %p")})
但有一個更好的辦法?幕後會發生什麼,當前時間不會自動更新?
謝謝!這工作。你知道爲什麼你不能像我最初那樣將它設置在字段定義/屬性中嗎? – intersection
我很確定它是因爲類變量僅在您第一次創建此類的實例時實例化。因此,您可以重載初始化方法以更改所需內容。 –
明白了 - 謝謝! – intersection