如何在 Django Forms 中设置当前年份?
How to set current year in Django Forms?
我对 django-from 有点问题。我想获得从 1960 年到当年的整数字段。
在forms.py我有:
year = forms.IntegerField(label='year', min_value=1960, max_value=datetime.now().year)
而且有效!
<input id="id_year" max="2016" min="1960" name="year" type="number">
但是 如果我将 datetime.now().year 替换为 datetime.now().秒,问题就明显了
服务器启动时填写的字段值(现在我用的是django开发服务器)
February 19, 2016 - 18:54:05
Djangoversion 1.9.1, using settings Test.settings
Starting development server at http://localhost:8000/
Quit the server with CONTROL-C.
现在在 HTML 模板中我得到
<input id="id_year" max="5" min="1960" name="year" type="number">
但是实时是18:54:18.
问题:如何让年份自动改变?
听起来,您担心该值仅在服务器启动时更改,您可以通过在表单的 init 方法中设置该值来解决这个问题
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['year'].max_value = datetime.now().year
我对 django-from 有点问题。我想获得从 1960 年到当年的整数字段。
在forms.py我有:
year = forms.IntegerField(label='year', min_value=1960, max_value=datetime.now().year)
而且有效!
<input id="id_year" max="2016" min="1960" name="year" type="number">
但是 如果我将 datetime.now().year 替换为 datetime.now().秒,问题就明显了
服务器启动时填写的字段值(现在我用的是django开发服务器)
February 19, 2016 - 18:54:05
Djangoversion 1.9.1, using settings Test.settings
Starting development server at http://localhost:8000/
Quit the server with CONTROL-C.
现在在 HTML 模板中我得到
<input id="id_year" max="5" min="1960" name="year" type="number">
但是实时是18:54:18.
问题:如何让年份自动改变?
听起来,您担心该值仅在服务器启动时更改,您可以通过在表单的 init 方法中设置该值来解决这个问题
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['year'].max_value = datetime.now().year