【问题标题】:Extending admin index.html template扩展管理 index.html 模板
【发布时间】:2018-03-13 06:41:02
【问题描述】:

我从 admin.contrib 下载了以下模板:base.html、base_site.html 和 index.html。

我想扩展 index.html,但无论我做什么,它似乎都不起作用。

在 settings.py 中,我声明了我的应用程序的名称以覆盖管理文件的呈现顺序。因此,我可以编辑实际文件,并且在运行服务器时内容确实会发生变化。

但是,我在目录 templates/admin/foo.html 中创建了一个文件。

foo.html 的代码是:

{% extends "admin/index.html" %}

{% block something %}
<p>Hello</p>
{% endblock %}

我已将文件 templates/admin/index.html 更改为 {% block something %}{% end block %}

当我运行服务器时,foo.html 的内容不显示。

我是否需要将 foo.html 添加到我的 urls.py 并在 views.py 中创建一个函数来呈现内容?

任何帮助将不胜感激。

【问题讨论】:

    标签: python html django templates


    【解决方案1】:

    Foo.html 未被 Django 管理员识别。如果您想自定义admin/index.html,请在admin/index.html 中进行更改。

    如果您想使用单独的文件,请将其包含在 admin/index.html 中,如下所示:

    {% include "foo.html" %}
    

    希望对你有帮助!

    【讨论】:

    • 谢谢,这确实有效。我可以使用带有views.py的函数将数据加载到“foo.html”中吗?我希望“foo.html”显示一些数据,并且还有一个可以提交数据的表单。
    • 这是一个完全不同的问题,我们没有足够的细节。如果您发布您想要完成的内容,以及您想要在管理员中获得的所有视图和数据,我们可以看看
    • 我希望仍然拥有 Django 管理员的默认功能。但是,在“主”管理页面上,我想显示我数据库中的特定条目。需要根据一些条件检查特定条目。我假设这必须在 views.py 文件的函数中完成。我面临的问题是将其传递给“foo.html”。我可以在管理页面加载并使用 jquery 填充页面时进行 AJAX 调用,但我更喜欢使用 Django 模板来执行此操作。我希望这能解释我想要实现的目标。
    • @CallumOsborn 我相信 AJAX 是在这种情况下要走的路。
    猜你喜欢
    • 2017-04-10
    • 2011-02-28
    • 2011-04-27
    • 2011-04-16
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多