我想知道启动烧瓶应用的正确方法.文档显示了两个不同的命令:
$ flask -a sample run
Run Code Online (Sandbox Code Playgroud)
和
$ python3.4 sample.py
Run Code Online (Sandbox Code Playgroud)
产生相同的结果并正确运行应用程序.
这两者之间有什么区别,哪些应该用于运行Flask应用程序?
dav*_*ism 16
该flask可执行文件是应用烧瓶一个简单的命令行转轮.它是在Flask 0.11中引入的.它取代了用于添加命令的Flask-Script扩展.该文档描述了如何使用和添加命令到这一点.
该python sample.py命令运行Python文件并设置__name__ == "__main__".如果主块调用app.run(),它将运行开发服务器.您无法run在调用时更改参数.
这两个命令最终都启动了Werkzeug 开发服务器,顾名思义,它启动了一个只能在开发过程中使用的简单HTTP服务器.您应该更喜欢flask run在app.run()方法上使用命令.
你只需要运行这个命令
蟒蛇应用程序.py
(app.py 是你想要的烧瓶文件)
但请确保您的 .py 文件具有以下烧瓶设置(与端口和主机相关)
from flask import Flask, request
from flask_restful import Resource, Api
import sys
import os
app = Flask(__name__)
api = Api(app)
port = 5100
if sys.argv.__len__() > 1:
port = sys.argv[1]
print("Api running on port : {} ".format(port))
class topic_tags(Resource):
def get(self):
return {'hello': 'world world'}
api.add_resource(topic_tags, '/')
if __name__ == '__main__':
app.run(host="0.0.0.0", port=port)
Run Code Online (Sandbox Code Playgroud)
最新文档具有以下示例:
Unix Bash(Linux,Mac等):
$ export FLASK_APP=hello
$ flask run
Run Code Online (Sandbox Code Playgroud)
Windows CMD:
> set FLASK_APP=hello
> flask run
Run Code Online (Sandbox Code Playgroud)