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)