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