1
我試圖只得到窗體的錯誤信息。但是有消息顯示特殊字符。如何獲得form.errors的確切消息?
這裏是我的代碼:
forms.py
class FilterForm(forms.ModelForm):
...........
def clean(self):
cleaned_data = super(FilterForm, self).clean()
payee = cleaned_data.get("payee")
memo = cleaned_data.get("memo")
if not payee or not memo:
raise forms.ValidationError(
"You must put a value either for Payee or Memo")
return cleaned_data
views.py
..............
if request.method == 'POST':
form = FilterForm(request.user, request.POST, instance=filter)
if form.is_valid():
form.save()
messages.success(request, "New rule created successfully")
else:
messages.error(request, [v[0].__str__() for k, v in form.errors.items()])
...........
當我提交無效的形式。我得到這樣的輸出:
['You must put a value either for Payee or Memo']
如何獲得只有消息沒有這[' ']
?
//the error message is shown from here
messages.error(request, [v[0].__str__() for k, v in form.errors.items()])
我得到這個錯誤'序列項0 :期望的字符串,ErrorList找到了' – catherine
我現在得到了正確的答案,我修改了你的答案 – catherine
不用擔心在內置消息中獲取它,因爲我們的模板腳本可以處理這個問題。 – catherine