【发布时间】:2016-06-04 17:56:21
【问题描述】:
如果表单有效,我有FormView 重定向到上一页。这很好,但我如何告诉用户信息已发布?我希望他在重定向后在模式窗口中看到成功消息。
我尝试通过get_success_url 中的request.session 完成此操作,但这不符合我的目标,因为用户可以多次提交表单。那么如何在FormViewget_success_url 中返回任何带有重定向的消息?
我的FormView
class CatPhotoUploadFormView(FormView):
template_name = 'blank.html'
form_class = CatPhotoForm
def get_success_url(self):
self.request.session['success_message'] = 'Everything is fine'
return reverse('cat:detail_cat', args=(self.kwargs['pk'],))
def form_valid(self, form):
cat = Cat.objects.filter(id__exact=self.kwargs['pk'])
for each in form.cleaned_data['attachments']:
print('****', each, '****', type(each))
Photo.objects.create(photo_path=each, photo_author=self.request.user, photo_cat = cat[0])
return super(CatPhotoUploadFormView, self).form_valid(form)
【问题讨论】:
-
你是否考虑过使用 Django 的messages framework?
标签: django-forms django-class-based-views