码迷,mamicode.com
首页 > 其他好文 > 详细

Flask入门

时间:2020-07-06 01:23:00      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:bsp   port   mamicode   add   request   style   debug   模式   方式   

一、创建一个简单的例子

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入门

标签:bsp   port   mamicode   add   request   style   debug   模式   方式   

原文地址:https://www.cnblogs.com/viewts/p/13252710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!