Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在字段上显示错误消息_Python_Django - Fatal编程技术网

Python 如何在字段上显示错误消息

Python 如何在字段上显示错误消息,python,django,Python,Django,如果Django administration中的字段为空,我想显示一条错误消息。目前,我知道如何在页面中提前带上ValidationError,但我需要把信息传递到空白区域上方。如何做到这一点 还没有找到答案 class Article(models.Model): ... title_ru = models.CharField(max_length=255, blank=True) ... class ArticleAdmin(admin.ModelAdmin):

如果Django administration中的字段为空,我想显示一条错误消息。目前,我知道如何在页面中提前带上ValidationError,但我需要把信息传递到空白区域上方。如何做到这一点

还没有找到答案

class Article(models.Model):
    ...
    title_ru = models.CharField(max_length=255, blank=True)
    ...

class ArticleAdmin(admin.ModelAdmin):

    class form(forms.ModelForm):

        class Meta:
        model = models.Article

    def clean(self):
        cleaned_data = super(forms.ModelForm, self).clean()
        title_ru = cleaned_data['title_ru']
        if not title_ru:
            raise forms.ValidationError("Title ru")

        return self.cleaned_data
forms.ValidationError(“Title ru”)
在页面顶部显示一条消息,但我需要在字段上方显示此消息


如何在字段标题上显示消息?

由于您在
clean
方法中引发了
ValidationError
,因此您会在页面顶部看到错误消息。改为在
clean\u title\u ru
中引发验证错误

def clean_title_ru(self):
    title_ru = self.cleaned_data['title_ru']
    if not title_ru:
        raise forms.ValidationError("Title ru")

    return self.cleaned_data['title_ru']

最好的方法是检查clean_title_ru中的值,但如果要检查多个值,可以采用什么方法:

def clean(self):
    cleaned_data = super(forms.ModelForm, self).clean()
    title_ru = cleaned_data['title_ru']
    if not title_ru:
        msg = u"error in Title ru"
        self._errors["title_ru"] = self.error_class([msg])

        # These fields are no longer valid. Remove them from the cleaned data.
        del cleaned_data["title_ru"]

    return self.cleaned_data

非常感谢您提供如此快速而简单的答案=)现在我知道怎么做了,也在文档中找到了。很高兴它有所帮助。如果这有用,请这样做。