我正在尝试构建基本的Flask Web应用程序。当我尝试向编辑器中添加简单的html代码(如下所示),然后在Terminal中运行“ Flask运行”时,它给了我“无效的语法”。我已经尝试了许多不同的html代码,但它不喜欢任何一个。
newline=''
答案 0 :(得分:2)
您对刚编写的代码有任何想法吗?
from flask import Flask
app = Flask(__name__)
html = """<iframe width="420" height="315" src="https://www.youtube.com/watch?v=ZEcqHA7dbwM"></iframe>"""
@app.route('/')
def hello_world():
return html
然后运行flask run
以启动Flask服务器
答案 1 :(得分:1)
此代码已完全损坏,因为结尾处的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')
答案 2 :(得分:1)
请注意,如果您只想提供一个静态HTML页面,则实际上并不需要Flask,因为Flask用于动态内容。相反,您可以将所有静态HTML文件放在一个目录中,然后运行python3 -m http.server
启动一个简单的轻量级HTTP服务器,该服务器可以提供静态HTML内容。
$ cat <<EOF > index.html
<iframe width="420" height="315"
src="https://www.youtube.com/watch?v=ZEcqHA7dbwM">
</iframe>
EOF
$ python3 -m http.server
现在,您可以在浏览器中打开http://localhost:8000
并查看已投放的静态内容。
如果要使用其他端口,请将端口号作为参数传递给python调用:python3 -m http.server 9999
如果您正在运行Python 2,则等效命令为python2 -m SimpleHTTPServer
。