【发布时间】:2013-06-23 01:26:54
【问题描述】:
我的登录代码如下:
class LoginForm(forms.Form):
email = forms.EmailField(max_length = 254, min_length = 6)
password = forms.CharField(min_length = 8, widget = forms.PasswordInput())
def Login(self):
email = self.cleaned_data.get('email')
password = self.cleaned_data.get('password')
user = authenticate(email = email, password = password)
if (user is None) or (user is not None and user.is_active is False):
raise forms.ValidationError('Login is incorrect.')
return user
但是,当我在我的站点上将调试设置为 false 时,只要登录不正确,我就会收到 500 错误,而不是显示 ValidationError 的表单。我这样称呼它:
if form.is_valid():
user = form.Login()
那是在视图方法中。我在这里想念什么?如何正确调用此表单错误,使其在调试设置为 false 时不会出现 500?
【问题讨论】:
-
不应该将
Login称为def clean吗? -
嗨,你是对的,我的解决方案在stackoverflow.com/questions/15084597/…