无法扩展Flask-Security登录模板

时间:2019-05-30 19:02:26

标签: flask jinja2 flask-security

我在我的项目中使用Flask-Security,我想扩展它提供的模板(即登录),以便使用自定义CSS设置样式。根据文档,我更改了SECURITY_LOGIN_USER_TEMPLATE的配置值以指向我的模板。在此模板中,我将扩展Flask-Security("security/login_user.html")提供的模板,并更改其定义的某些块的内容(或其基础)。

我的模板按预期方式呈现(看起来像标准的"security/login_user.html"),唯一的问题是我尝试覆盖的块没有被覆盖。

我的模板如下:login.html:

{% extends "security/login_user.html" %}

{% block content %}
<p>There should be no form.</p>
{% endblock content %}

为确认我没有渲染原始模板,我尝试将模板文件的内容更改为空,并且按预期方式工作-没有渲染。

我想念什么?

1 个答案:

答案 0 :(得分:0)

使用调试器一段时间后,我意识到PyPi上可用的Flask-Security软件包有问题。在开发项目时,我依赖于官方github page上提供的源代码。如果您看一下登录模板,则会发现它确实扩展了基本模板,该模板提供了可以稍后覆盖的块的定义。

但是,当您从PyPi下载软件包并检查模板时,您会注意到它有所不同-它不使用Jinja2继承,也不使用任何块,因此出现了问题中所述的问题。

换句话说,PyPi包已过时。