Flask入门
Posted viewts
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask入门相关的知识,希望对你有一定的参考价值。
一、创建一个简单的例子
from flask import Flask app = Flask(__name__) @app.route(‘/‘) def index(): return ‘<h1>Hello world!</h1>‘
这是一个完整的应用,视图函数index使用app.route装饰器来映射到url的路径,在flask中还有一种更传统的方式:使用app.add_url_rule()方法
def index(): return ‘<h1>Hello world!</h1>‘ app.add_url_rule(‘/‘, ‘index‘, index)
add_url_rule()接收三个参数:url, 端点和视图函数,这里的端点相当与字典中的键。
二、动态路由
@app.route(‘/<name>‘) def index(name): return ‘<h1>Hello {}</h1>‘.format(name)
Flask也支持RESTful风格的动态路由,访问http://localhost:5000/wts
可以看到‘wts‘已经作为参数从路由传递给了视图函数。
三、热重载
Flask的调试模式支持热重载,使用方式是运行flask run命令前执行:
set FLASK_DEBUG=1
也可以在通过编程方式启动的方式中设置:
if __name__ == "__main__": app.run(debug=True)
启用重载器后,flask会监视项目中的所有源码文件,发现变动时自动重启服务,在调试的过程中非常方便。
四、命令行选项
通过执行flask run --help查看。
值得一提的是,默认情况下,flask监听localhost的连接,因此服务器只接收运行服务器的计算机发送的连接,为了让同一网络中的其他计算机发送的连接也能接收到,有两种设置方式:
flask run --host 0.0.0.0
或者
if __name__ == "__main__": app.run(debug=True, host=‘0.0.0.0‘)
五、应用请求上下文
from flask import request @app.route(‘/‘) def index(): user_agent = request.headers.get(‘User-Agent‘) return ‘<p>{}</p>‘.format(user_agent)
注意:request在同一个线程中全局可访问,但不会干扰其他线程。
以上是关于Flask入门的主要内容,如果未能解决你的问题,请参考以下文章
分享《Flask Web开发实战:入门进阶与原理解析》PDF+源代码