当前位置:  开发笔记 > 编程语言 > 正文

在Django表单上引发ValidationError的问题

如何解决《在Django表单上引发ValidationError的问题》经验,为你挑选了0个好方法。

我正在尝试验证数据库中是否已存在提交的URL.

Form类的相关部分如下所示:

from django.contrib.sites.models import Site
class SignUpForm(forms.Form):
    # ... Other fields ...
    url = forms.URLField(label='URL for new site, eg: example.com')

    def clean_url(self):
        url = self.cleaned_data['url']
        try:
            a = Site.objects.get(domain=url)

        except Site.DoesNotExist:
            return url

        else:
            raise forms.ValidationError("That URL is already in the database.  Please submit a unique URL.")

    def clean(self):
        # Other form cleaning stuff.  I don't *think* this is causing the grief

问题是,无论我提交什么价值,我都无法提出ValidationError.如果我在clean_url()方法中做了类似的事情:

if Site.objects.get(domain=url):
    raise forms.ValidationError("That URL is already in the database.  Please submit a unique URL.")

然后我收到一个DoesNotExist错误,即使对于已经存在于数据库中的URL也是如此.有任何想法吗?

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有