python: flask返回的html标签被当成字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python: flask返回的html标签被当成字符串相关的知识,希望对你有一定的参考价值。

参考技术A 在返回html文本时,在本机使用了以下语句。

结果是正常的。

但是部署在Kubernetes上遇到flask的render_template_string方法返回的html文本在浏览器中显示为“<html><body>...<body/><html/>”
显然这是因为html标签被当做字符串了

打开DevTool看到:

我们希望能改为:

可以使用flask的Response方法来设置内容类型

done!

Flask模板宏的概念和基本使用

# 宏:
模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量。
使用宏的时候,参数可以为默认值。相关示例代码如下:

 1 1. 定义宏:
 2     ```html
 3     {% macro input(name, value=‘‘, type=‘text‘) %}
 4     <input type="{{ type }}" name="{{ name }}" value="{{
 5     value }}">
 6     {% endmacro %}
 7     ```
 8 2. 使用宏:
 9     ```html
10     <p>{{ input(‘username‘) }}</p>
11     <p>{{ input(‘password‘, type=‘password‘) }}</p>
12     ```

### 导入宏:
1. `import "宏文件的路径" as xxx`。
2. `from ‘宏文件的路径‘ import 宏的名字 [as xxx]`。
3. 宏文件路径,不要以相对路径去寻找,都要以`templates`作为绝对路径去找。
4. 如果想要在导入宏的时候,就把当前模版的一些参数传给宏所在的模版,那么就应该在导入的时候使用`with context`。示例:`from ‘xxx.html‘ import input with context`。

以上是关于python: flask返回的html标签被当成字符串的主要内容,如果未能解决你的问题,请参考以下文章

Flask模板宏的概念和基本使用

Flask从入门到精通之静态文件

Python学习之路---Flask01(2018-07-24)

Python/FLASK - html 表单返回字符串。如何检查它是不是包含数字?

python flask 如何读取数据库数据并返回到html

flask基础(下篇)