2015-02-04 94 views
2

當過了的ModelForm表單域循環,我可以date過濾器適用於models.DateField()就好了,即Django的日期格式字段不能接受|日期:「SHORT_DATE_FORMAT」過濾

{{field.value|date:"SHORT_DATE_FORMAT"}} 

但循環時在帶有forms.DateField的非模型表單上,數據似乎已經是字符串格式,並且在應用過濾器時返回空字符串。當我print type(form.cleaned_data['date'])它出來作爲日期時間然而。是否is_valid()無論如何修改表單,或者有關如何應用過濾器的任何想法?

+0

如果POST無效,您是否想要打印特定格式的初始值(SHORT_DATE_FORMAT),還是想重新格式化用戶的輸入?你有什麼理由必須手動呈現表單而不是'{{form}}'? – ZZY

回答

0

我剛碰到同樣的問題。我回來的Json數據將數據作爲字符串而不是數據對象。所以日期格式模板標籤不會重新調整它。

the documentation says:

如果值是一個日期時間的對象(例如,datetime.datetime.now的()的結果),則輸出將是字符串 '星期三09 2008年1月'。

所以它看起來像我們以太需要將字符串轉換成一個好看的日期或將字符串轉換爲日期時間對象,以便標記將其轉換。

我會更新什麼接縫最痛苦。