Django管理员将查询结果返回到我的change_list模板

时间:2018-10-05 09:23:03

标签: django orm django-admin

在我的django项目中,我将在个性化的change_list.html模板中显示ORM查询的结果。 我这样做: 在admin.py中:

class temp_libraryAdmin(admin.ModelAdmin):

    list_filter = ('main_id__descr', 'l_type')


    def change_list(self, request, extra_context=None):

        #Here  we'll write ORM query, now test dict
        extra_context = {
            'cc': '123',
        }

        return super(temp_libraryAdmin, self).change_list(request, extra_context=extra_context)

好吧,现在在change_list页面的页脚中:

{% block footer %}
<div id="footer-main">
    <p>FOOTERR</p>
    {% for lf in extra_context %}{{ lf.cc }}{% endfor %}
</div>
{% endblock %}

但是我的页面上什么也没有显示。

如何在管理页面中显示查询中的数据?

预先感谢

1 个答案:

答案 0 :(得分:0)

我相信您正在尝试覆盖Modeladmin的 changelist_view 功能。 现在,在检查其源代码时,将额外的上下文与上下文字典合并为:

context.update(extra_context or {})

然后将该上下文传递到模板。因此,根据您的情况,您可以直接检查变量是否存在,例如:

extra_context = {
        'some_variable': '123',
    }

然后在模板中检查为:

{% if some_variable %}

希望有帮助。