【问题标题】:Customize Django report builder base.html自定义 Django 报表生成器 base.html
【发布时间】:2017-07-11 13:33:09
【问题描述】:

我安装了 django-report-builder 并遵循如下配置:

  1. pip install django-report-builder
  2. 将 report_builder 添加到 INSTALLED_APPS
  3. 将 url(r'^report_builder/', include('report_builder.urls')) 添加到 url.py url 模式 4.确保 django.core.context_processors.static 和 django.core.context_processors.media 在 TEMPLATE_CONTEXT_PROCESSORS 注意:对于 Django 1.8+ 模板上下文 处理器已从 django.core.context_processors 移至 django.template.context_processors。模板的设置 上下文处理器已从 TEMPLATE_CONTEXT_PROCESSORS 移至 TEMPLATES 中模板引擎特定配置的一部分,如 此处描述。

5.同步您的数据库。 python manage.py 迁移

6.使用 Django admin 或导航到 /report_builder/

要求:

我正在尝试自定义

/report_builder/base.html

,这样我就可以改变 Django-report-builder 的外观和感觉。但每当我使用{% extends "base.html" %} 扩展我的基类时。

谁能建议我应该为 django-reort-builder 实际定制哪个文件?

【问题讨论】:

  • 请格式化您的问题,以便于阅读

标签: html django


【解决方案1】:

您无需编辑report_builder/base.html。您可以扩展该模板并覆盖block,但查看source code,此模板没有太多可修改的地方。也许你想从spa.html继承。

无论哪种方式,覆盖模板:

  1. 在您的templates/appname 目录中创建一个模板文件,其内容如下:

    {% extends "report_builder/base.html" %} {# or spa.html #}
    
  2. 覆盖所需的块:

    {% block report_header %}
    <!-- your custom content here -->
    {% endblock %}
    
    {% block content %}
    <!-- your custom content here -->
    {% endblock %}
    

有关模板继承的更多详细信息,请参阅docs

【讨论】:

  • 我更多的是谈论报表生成器 UI 的外观。我认为我们不能使用 base.html 或 spa.html 更改外观,因为所有 UI 实体都通过调用 进一步配置 home.html 文件,并且更多存在于我们无法继承的静态文件夹中。请同样纠正我。
  • 我明白了。实际上,您不能覆盖static 目录中的脚本,但您可以覆盖模板并使用您的自定义javascript。您需要探索 report_builder/partials/home.html 以了解他们如何呈现报告。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多