首页 > 解决方案 > 无法将 HTML 与 Flask 一起使用

问题描述

我正在尝试构建一个基本的 Flask 网络应用程序。当我尝试将简单的 html 代码(如下所示)添加到我的编辑器,然后在终端中“运行 Flask”时,它给了我“无效的语法”。我尝试了很多不同的 html 代码,但它都不喜欢其中的任何一个。

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, world'

<iframe width="420" height="315"
src="https://www.youtube.com/watch?v=ZEcqHA7dbwM">
</iframe>

标签: pythonflask

解决方案


这段代码完全被破坏了,因为最后的 HTML 实际上不是有效的 Python 语法。最简单的方法就是创建一个包含该 HTML 的 python 字符串,然后让hello_world函数返回该字符串:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    html = """<iframe width="420" height="315"
        src="https://www.youtube.com/watch?v=ZEcqHA7dbwM">
        </iframe>
    """
    return html

if __name__ == '__main__':
    app.run(host='0.0.0.0')

当然,如果您创建了一个名为的目录templates并将 HTML 放在一个文件中,templates/index.html那么您可以使用 Flask 的render_template功能来实现相同的目的:

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def hello_world():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(host='0.0.0.0')

推荐阅读