フィールドにエラーメッセージが表示されたらDjangoの管理では空白です。現時点では、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")
ページの上部にメッセージを表示しますが、フィールド上にこのメッセージが必要です
フィールドTitle_ruにメッセージを出す方法?
回答:
回答№1は2あなたが ValidationError
の中に clean
メソッドを使用すると、ページの上部にエラーメッセージが表示されます。検証エラーを発生させる clean_title_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"]
回答№2の場合は0
一番良いのは、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