Django:在成功保存表单后自定义消息
每当我在管理界面中保存模型时,它都会显示通常的“成功保存消息”。 但是,我想知道是否可以自定义此消息,因为我想警告用户他刚刚保存的内容以及这些操作的含义。
class PlanInlineFormset(forms.models.BaseInlineFormset):
def clean(self):
### How can I detect the changes?
### (self.changed_data doesn't work because it's an inline)
### and display what he/she just changed at the top AFTER the successful save?
class PlanInline(admin.TabularInline):
model = Plan
formset = PlanInlineFormset
whenever I save a model in my Admin interface, it displays the usual "successfully saved message."
However, I want to know if it's possible to customize this message because I have a situation where I want to warn the user about what he just saved and the implications of these actions.
class PlanInlineFormset(forms.models.BaseInlineFormset):
def clean(self):
### How can I detect the changes?
### (self.changed_data doesn't work because it's an inline)
### and display what he/she just changed at the top AFTER the successful save?
class PlanInline(admin.TabularInline):
model = Plan
formset = PlanInlineFormset
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Django(> 版本 1.2)使用消息框架来管理消息。您可以使用该界面添加其他消息。这是一个示例:
要检测正在保存的对象的更改,您应该覆盖 ModelAdmin的save_model方法,并将该方法传递的对象与当前数据库中的版本进行比较。要在内联的情况下执行此操作,您可以覆盖 save_formset方法。一种可能的方法可能如下所示(未经测试的代码):
Django (> version 1.2) uses the messages framework for admin messages. You can add additional messages using that interface. Here's an example:
To detect changes to the object being saved, you should be to override the save_model method of ModelAdmin, and compare the object the method is passed to the version currently in the database. To do this in the case of inlines, you can override the save_formset method. A possible approach might look like (untested code):
如果您使用的是 Django 1.2 或更高版本,消息框架可能会提供答案。
http://docs.djangoproject.com/en/dev/ref/contrib/消息/
If you're using Django 1.2 or newer, the messages framework may hold the answer.
http://docs.djangoproject.com/en/dev/ref/contrib/messages/