【问题标题】:Pass Data to Master Template将数据传递到主模板
【发布时间】:2016-04-04 14:27:20
【问题描述】:

我自定义 django admin 以在顶部显示自定义导航栏。因此,我向我的 adminClass(在 admin.py 中)添加了一个覆盖 changelist_view 的方法,并传递了一个对象列表(在 changelist_view 内部),模板将其恢复并显示在导航栏中。

def changelist_view(self, request, extra_context=None):
    extra_context = extra_context or {}                 
    mygetModels = getModels()
    extra_context["modelsTables"] = mygetModels.getTablesModels()
    return super(SrcComscoreInformeAdmin, self).changelist_view(request, extra_context=extra_context)

当我在 Django 中调用特定表时,它运行良好,但如果我尝试添加新记录(因此 url 将是 /admin/db/table_name/add/),此模板正在使用我的自定义导航栏(我在我的覆盖base_site.html),但是这个模板(添加选项)没有得到我想从视图中发送的列表。我应该更改/覆盖另一个视图吗?如何修改正确的视图以传递对象列表,就像我为 /admin/table_name/ 所做的那样?

【问题讨论】:

    标签: django django-models django-admin django-views


    【解决方案1】:

    changelist_view 用于显示模型项的表格。

    如果您要添加新项目或编辑现有项目,则需要分别覆盖 add_viewchange_view

    【讨论】:

    • 就是这个想法。谢谢伙计,今天我什么都看不见,糟糕的一天……但你让我笑了。谢谢!!
    猜你喜欢
    • 2018-08-19
    • 2016-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    相关资源
    最近更新 更多