处理Django视图中的错误

时间:2014-03-12 18:21:02

标签: django django-forms

我有一个表格,其中所有字段都有效。我现在想要发送电子邮件,如果表单有效,但如果发送电子邮件失败,我想为用户生成错误消息。这样做的正确方法是什么? 我是否应该将用户重定向到包含错误的新页面,或者将表单重新呈现为无效。

views.py

from myapp.forms import ContactForm
from django.views.generic.edit import FormView

class ContactView(FormView):
    template_name = 'contact.html'
    form_class = ContactForm
    success_url = '/thanks/'

    def form_valid(self, form):
        # This method is called when valid form data has been POSTed.
        # It should return an HttpResponse.
        form.send_email()
        return super(ContactView, self).form_valid(form)

在此示例中,如果form.send_emai()返回错误消息,那么将该消息返回给用户的最佳方法是什么?如果用户之前已发送过相同的电子邮件,或者收件人已选择不接收电子邮件,则我的send_email()函数会返回错误。我想将这些消息转发给用户。

1 个答案:

答案 0 :(得分:0)

您可以将支票添加到表单的clean()方法吗?这样,您就不必担心从form.send_email()返回错误消息。