2016-02-19 18 views
0

我對django-from有點麻煩。我想要從1960年到今年的整數領域。如何在Django Forms中設置當前年份?

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()。 datetime.now()。 第二,問題就變得在HTML模板明顯

填充在服務器啓動時(現在我使用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. 

的價值和現在我得到

<input id="id_year" max="5" min="1960" name="year" type="number"> 

但是實時爲18:54:18

問題:我應該怎麼做,自動改變一年?

+1

我真不的init方法設置值糾正這種沒有你想做的事情。你的目標是什麼?爲了顯示當年,對嗎?爲什麼你把它改成'datetime.now()。second'呢? –

+0

當'datetime.now()。second'被使用時,你期望什麼?它顯示'最大= 5',可能是第5秒。 – karthikr

+0

我想自動更改年份。以秒爲單位的示例顯示該年(也作爲秒)不會隨服務器時間而改變。 –

回答

2

通過它的聲音,你擔心的是,當服務器啓動時的值只改變了,你可以通過表單

class MyForm(forms.Form): 
    def __init__(self, *args, **kwargs): 
     super(MyForm, self).__init__(*args, **kwargs) 
     self.fields['year'].max_value = datetime.now().year 
相關問題