首页 > 解决方案 > 渲染烧瓶render_template时如何忽略自定义属性?

问题描述

我有一些 HTML 模板,例如:

<span data-test-id="fullName">{{ user.full_name }}</span>

↓ 在 dev/qa 环境中

<span data-test-id="fullName">Homer Simpson</span>

我想忽略生产环境data-test-id中的自定义属性。

<span data-test-id="fullName">{{ user.full_name }}</span>

↓ 在 dev/qa 环境中

<span>Homer Simpson</span>

可能吗?

标签: pythonhtmlflaskjinja2

解决方案


您可以将该FLASK_ENV值用作开关并将其render_template作为kwarg. 您将需要研究Jinja2以获得更强大的功能。

烧瓶应用

import os
...

@app.route('/')
def your_route():
    ...
    environment = os.environ.get("FLASK_ENV", 'dev')
    return render_template('your.html', environment=environment)

HTML

<span {% if environment != 'production'%} data-test-id="fullName" {% endif %}>{{ user.full_name }}</span>

推荐阅读