我在工作中使用 Flask 为内部应用程序编写 Web 服务。许多 Web 服务 URI 的返回 HTML 部分,我试图找出一种干净的方式来存储 html 模板字符串。我不想将模板字符串放在单独的文件中,因为它们通常只有几行长,而且我不希望有 20 个模板文件,每个文件都有 3 行。我正在考虑在函数的文档字符串中定义一个函数的 html 模板字符串,因为我觉得这将有多种用途。它将作为文档,基本上说“这是我输出的”,并且让我不必将 3 行模板字符串存储在单独的文件中。这就是我所说的:
@app.route('/path/to/my/resource/<int:_id>')
def some_resource(_id):
"""
<select id="resource-{{ resource.id }}" class="resource">
{% for choice in choices %}
<option id="choice-{{ choice.id }}" value="{{ choice.id }}">
{{ choice.text }}
</option>
{% endfor %}
</select>
"""
# retrieving resource, etc...
return render_template_string(some_resource.__doc__, **kwargs)
我不知道这是否会成为一场噩梦……有什么想法吗?