WorkingWithTemplates
模板使用了 Jinja2 模板引擎,默认情况下会在您的项目中查找 templates/sqladmin 目录。
如果 templates/sqladmin 目录中有默认的模板文件,如 list.html 或 create.html,则会使用这些文件。否则,您可以创建自定义模板并使用它们。
自定义模板
第一步,您应该在项目中创建 templates/sqladmin 目录。
由于 Jinja2 是模块化的,您可以重写特定的模板文件并进行修改。例如,您可以创建一个 custom_details.html 文件来覆盖 SQLAdmin 中的 details.html 文件,并在 content 块中添加自定义的 HTML 标签:
示例:
custom_details.html
{% extends "sqladmin/details.html" %}
{% block content %}
{{ super() }}
<p>自定义 HTML</p>
{% endblock %}admin.py
class UserAdmin(ModelView, model=User):
details_template = "custom_details.html"重写默认模板
如果您需要更改 SQLAdmin 中的某个现有默认模板,并使其影响多个页面,您可以通过将现有模板从 templates/sqladmin 复制到您项目中的 templates/sqladmin 目录来实现。这样,它将替代包中的模板。例如,如果您想在每个页面上运行某些 JavaScript,您可能希望在 layout.html 中进行,如下所示:
示例:
myproject/templates/sqladmin/layout.html
自定义 Jinja2 环境
您可以向 Jinja2 环境添加自定义选项,以便在自定义模板中使用它们。首先设置一个项目:
然后,您可以添加您的环境选项:
添加过滤器
在模板中的使用:
添加测试函数
在模板中的使用:
添加全局变量
在模板中的使用:
最后更新于