【发布时间】:2019-06-26 16:15:03
【问题描述】:
我有一个 UpdateView,它将显示一个表单来创建用户配置文件或更新用户配置文件。它运作良好,但是,由于某种原因,我无法让它显示表单错误。根据我在模型表单中输入的ValidationErrors,应该存在表单错误。我怀疑我的 views.py 是导致表单不显示错误的原因。
这是我的看法:
class ProfileSettings(UpdateView):
model = Profile
template_name = 'profile/settings.html'
form_class = ProfileForm
success_url = reverse_lazy('profile:settings')
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST, request.FILES)
if form.is_valid():
bio = form.cleaned_data['bio']
gender = form.cleaned_data['gender']
avatar = form.cleaned_data['avatar']
Profile.objects.update_or_create(user=self.request.user, defaults={'avatar':avatar, 'bio':bio, 'gender':gender})
return HttpResponseRedirect(self.success_url)
在模板中,我正在显示如下错误:{{ form.avatar.errors }} 如果图像太小,头像应该显示错误,但它没有。
【问题讨论】:
-
向我们展示forms.py。您还在模板中呈现表单吗?
标签: django django-models django-forms django-templates django-views