Django在视图中获取ValidationError消息

时间:2016-02-20 14:31:26

标签: python django forms

我手工编写RESTful服务。表格和视图如下:

forms.py

class RegistrationForm(forms.Form):
    email = forms.EmailField(required=True, label="E-Posta", help_text="E-postalar gerçek bir kişi olduğunuzu anlamamız için gereklidir.", min_length=3)
    username = forms.SlugField(required=True, label="Kullanıcı Adı", help_text="Kullanıcı adınız bir sefer seçilebilir. Daha sonra değiştirilemez. boşluk barındıramaz.")
    password = forms.CharField(required=True, label="Şifre", help_text="Parolanız en az 8 karakterden oluşmalıdır.", min_length=8)
    password_validate = forms.CharField(required=True, label="Tekrar Şifre", min_length=8)
    captcha = CaptchaField()

    def clean(self):
        password = self.cleaned_data.get("password")
        password_validate = self.cleaned_data.get("password_validate")

        if password != password_validate:
            raise forms.ValidationError("Şifreler uyuşmuyor.") # This is my error message.

views.py

def registration_validator(request):
    if request.method != "POST":
        response = HttpResponse("", content_type="text/plain")
        response.status_code = 405
        return response

    registration_form = web_forms.RegistrationForm(request.POST)

    if registration_form.is_valid() == False:
        response = HttpResponse("", content_type="text/plain") # Here I want to return the message of ValidationError which is raised in forms.py.
        response.status_code = 400
        return response

    response = HttpResponse("", content_type=content_type)
    response.status_code = 200
    return response

如何在views.py

中返回ValidationError的消息

环境

  • django 1.8.7

1 个答案:

答案 0 :(得分:1)

与模板中的完全相同:访问registration_form.errors dict。