安装flask
sudo pip3 install flask
falsk最小应用
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
把上面代码包围为hello.py(或其名字),然后用Python解释器来运行。
$ python hello.py * Running on http://127.0.0.1:5000/
然后再浏览器中访问:http://127.0.0.1:5000/,就能看到浏览器中显示Hello World!
分析:
1.从flask中导入Flask类。这个类的实例将会是我们的WSGI应用程序。
2.app = Flask(__name__) 。创建一个Flask类的实例,第一个参数是应用模块或包的名称。
如果使用单一的模块,应使用__name__,因为模块的名称将会因其作为单独应用启动还是作为模块导入而有不同。这样Falsk才知道到哪里去找模板、静态文件等。
3. @app.route('/')。使用装饰器告诉Flask,什么URL能够触发搜修饰的函数。
4.app.run()。启动本地服务器。其中 if __name__ == '__main__': 确保服务器只会在该脚本被Python解释器直接执行的时候才会运行,而不是作为模块导入的时候。
外部可访问的服务器
如果你运行了这个服务器,你会发现它只能从你自己的计算机上访问,网络中其它任何的地方都不能访问。在调试模式下,用户可以在你的计算机上执行任意 Python 代码。因此,这个行为是默认的。
如果你禁用了debug或信任你所在网络的用户,你可以简单修改调用run()的方法使你的服务器公开可用,如下:
app.run(host='0.0.0.0')
这会让操作系统监听所有公网 IP。
调试模式
虽然run()方法适用于启动本地的开发服务器,但是你每次修改代码后都要手动重启它。这样并不够优雅,而且 Flask 可以做到更好。如果你启用了调试支持,服务器会在代码修改后自动重新载入,并在发生错误时提供一个相当有用的调试器。
有两种途径来启用调试模式。一种是直接在应用对象上设置:
app.debug=True
app.run()
或者
app.run(debug=True)