django - Django-mailer 自定义管理区域
问题描述
使用 django 邮件程序(https://github.com/pinax/django-mailer)时,我意识到添加到管理区域的默认表(例如消息日志和消息)没有添加 message_log 字段,如果一个确实可用查看添加的表。
由于错误消息对我来说非常有价值,我想添加它,并简单地将“log_message”添加到应用程序的 MessageLogAdmin 中,如下所示:
class MessageLogAdmin(MessageAdminMixin, admin.ModelAdmin):
list_display = ["id", show_to, "subject", "message_id", "when_attempted", "result", "log_message"]
list_filter = ["result"]
date_hierarchy = "when_attempted"
readonly_fields = ['plain_text_body', 'message_id']
search_fields = ['message_id']
但是,除了修改源代码之外,真的没有其他方法可以为 django-mailer 自定义管理区域吗?例如通过 settings.py
解决方案
不,你不能通过settings.py
如果我理解正确,您不想仅仅为了编辑而分叉应用程序admin.py
,而是将其保存在requirements.txt
文件中。在这种情况下,您可以执行以下操作:
class MyOwnMessageLogAdmin(MessageAdminMixin, admin.ModelAdmin):
list_display = ["id", show_to, "subject", "message_id", "when_attempted", "result", "log_message"]
list_filter = ["result"]
date_hierarchy = "when_attempted"
readonly_fields = ['plain_text_body', 'message_id']
search_fields = ['message_id']
admin.site.unregister(MessageLog)
admin.site.register(MessageLog, MyOwnMessageLogAdmin)
推荐阅读
- angular - Ionic FileTransfer 从相机错误代码:3 到服务器托管
- hadoop - 运行 yarn jar 命令时更改 tmp 目录
- android - 如何使用 Jenkins 创建和启动模拟器
- javascript - JSX 扩展运算符用法
- sql - 使用光标将相同的值插入表中
- c# - ASP.NET Core(2.1)中的Identity:为什么我们需要添加一个新的Context来自定义IdentityUser?
- javascript - 如何使用javascript(无JQuery)提取包含json字符串的数据属性
- laravel - Laravel:一旦迁移,它不会在 MySQL 中创建自定义主键列
- c++ - 如何“停止”等待条件变量的分离线程?
- javascript - 如何使用这样的嵌套数据结构在 redux 中添加项目?我正在向选择数组添加新项目