Django 如何在从管理员端保存数据时显示错误消息。?我使用models.model创建模型
在这里,我面对的错误Django 如何在从管理员端保存数据时显示错误消息。?我使用models.model创建模型,django,python-3.x,django-models,Django,Python 3.x,Django Models,在这里,我面对的错误 class Setting(models.Model): id=models.AutoField(primary_key=True, unique=True) ldap_server = models.CharField(max_length=100, default='ldap://yourDomain.in') ldap_server_username = models.CharField(max_length=100,
class Setting(models.Model):
id=models.AutoField(primary_key=True, unique=True)
ldap_server = models.CharField(max_length=100, default='ldap://yourDomain.in')
ldap_server_username = models.CharField(max_length=100, null=True)
ldap_server_password = models.CharField(max_length=100, null=True)
def save(self, *args, **kwargs):
ldap_server=self.ldap_server
ldap_server_username = self.ldap_server_username
ldap_server_password = self.ldap_server_password
try:
l = ldap.initialize(ldap_server)
l.protocol_version = ldap.VERSION3
l.set_option(ldap.OPT_REFERRALS, 0)
l.simple_bind_s(ldap_server_username, ldap_server_password)
super(Setting, self).save(*args, **kwargs)
except:
messages.error(request, "You have logged in..!")
我不能用
messages.error(request, "You have logged in..!")
有人知道显示错误的替代方法吗
消息。在admin.py中尝试以下操作:
messages.error(request, "You have logged in..!")
从模型中删除save()方法
您可以在forms.py文件中移动SettingForm,然后将其导入admin.py
我希望这会有所帮助谢谢你的帮助。但是我使用另一种方式来显示models.py中的错误消息
#admin.py
from models import Setting
from django.contrib import admin
from django import forms
class SettingForm(forms.ModelForm):
class Meta:
model = Setting
def clean(self):
ldap_server = self.cleaned_data.get('ldap_server')
ldap_server_username = self.cleaned_data.get('ldap_server_username')
ldap_server_password = self.cleaned_data.get('ldap_server_password')
# your ldap logic here
if your_condition:
raise form.ValidationErro('You have logged in..!')
return self.cleaned_data
class SettingAdmin(admin.ModelAdmin):
form = SettingForm
list_display = ('ldap_server', 'ldap_server_username', 'ldap_server_password')
admin.site.register(Setting, SettingAdmin)