【问题标题】:Where do I modify the admin view code for a 3rd party app?我在哪里可以修改 3rd 方应用程序的管理视图代码?
【发布时间】:2012-02-17 02:07:04
【问题描述】:

我在我的 django webapp 中使用了第 3 方应用程序。 但我想为 3rd 方应用程序中的一个模型自定义管理视图。 自定义不仅仅是更改 change_list.html 模板,即我需要添加代码来与外部 Web 服务等对话。

但是,我不想修改第 3 方应用。相反,我想覆盖它。 我如何为来自 3rd 方应用程序的模型覆盖 ModelAdmin

【问题讨论】:

    标签: django


    【解决方案1】:

    这应该让你开始:

    from django.contrib import admin
    from thirdpartyapp.models import ThirdPartyModel
    from thirdpartyapp.admin import ThirdPartyAdmin
    
    class CustomThirdPartyAdmin(ThirdPartyAdmin):
        pass
    
    
    admin.site.unregister(ThirdPartyModel)
    admin.site.register(ThirdPartyModel, CustomThirdPartyAdmin)
    

    我经常使用它来自定义 UserAdmin as shown in this answer

    【讨论】:

    • 这段代码应该去哪里?在项目主文件夹内的新文件夹中,名称为 thirdpartyapp
    • 在您的一个应用程序的 admin.py 文件中。
    • 如果您需要注册自定义模型而不是原始模型,这也很有用。
    猜你喜欢
    • 1970-01-01
    • 2011-02-28
    • 2010-12-27
    • 2022-12-24
    • 2016-04-21
    • 2010-11-09
    • 2023-01-18
    • 2012-01-15
    • 2011-05-25
    相关资源
    最近更新 更多