Python 在Django Admin中保存模型之前显示警报消息
在数据库中保存模型后或保存时出现任何错误时,可以通过多种方式显示消息。但是,当用户单击Django Admin中的保存按钮时,如何显示警报?有什么方法可以做到这一点吗?如果您研究了django管理员,那么您可以看到django用于呈现保存(保存并继续)按钮 有多种方法可以做到这一点 1)如果您想要应用程序提示,则在Python 在Django Admin中保存模型之前显示警报消息,python,django,django-models,django-templates,django-admin,Python,Django,Django Models,Django Templates,Django Admin,在数据库中保存模型后或保存时出现任何错误时,可以通过多种方式显示消息。但是,当用户单击Django Admin中的保存按钮时,如何显示警报?有什么方法可以做到这一点吗?如果您研究了django管理员,那么您可以看到django用于呈现保存(保存并继续)按钮 有多种方法可以做到这一点 1)如果您想要应用程序提示,则在admin.py文件中包括带有管理媒体选项的自定义js文件 @admin.register(Model) class ModelAdmin(admin.ModelAdmin):
admin.py
文件中包括带有管理媒体选项的自定义js文件
@admin.register(Model)
class ModelAdmin(admin.ModelAdmin):
class Media:
js = (
'js/myscript.js', # project's static folder ( /static/js/myscript.js )
)
在您的myscript.js
write中
window.addEventListener("load", function () {
(function ($) {
$('form').submit(function () {
var c = confirm("continue submitting ?");
return c;
});
})(django.jQuery);
}));
2)如果您想在admin中获得所有表单的警报,只需在templates/admin/submit\u line.html
目录中继承,然后简单地编写
<script>
$(document).ready(function(){
$('form').submit(function() {
var c = confirm("continue submitting ?");
return c;
});
})
</script>
$(文档).ready(函数(){
$('form')。提交(函数(){
var c=确认(“继续提交?”);
返回c;
});
})
但是,当用户在Django中单击save按钮时,如何显示警报
管理有办法吗
它叫。Django的最佳实践是在服务器上进行验证,并描述了这种方式
您需要执行以下步骤:
表单
clean_name
方法,其中name
是要检查的字段的名称。您还可以覆盖整个李>
ValidationError
向用户发送消息。如果在clean_name
方法中引发异常,则界面中将突出显示name
字段要做到这一点,唯一的方法是使用Javascript或更好的jQuery,让Django管理员为您服务。您可以将您的答案与一些来源链接起来吗?链接到媒体表单
from django.core.exceptions import ValidationError
from django import forms
from django.contrib import admin
class ArticleAdmin(admin.ModelAdmin):
form = MyArticleAdminForm
class MyArticleAdminForm(forms.ModelForm):
def clean_name(self):
if some_condition:
raise ValidationError("Message which you want to show to the user")
return self.cleaned_data["name"]