Django-mailer 自定义管理区域
Django-mailer customizing admin area
当使用 django mailer (https://github.com/pinax/django-mailer) 时,我意识到添加到管理区域的默认表(例如 Message logs 和 Messages)没有添加确实可用的 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)
当使用 django mailer (https://github.com/pinax/django-mailer) 时,我意识到添加到管理区域的默认表(例如 Message logs 和 Messages)没有添加确实可用的 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)