Python中flask的简介和基本操作

flask简介

flask深入学习文档: http://docs.jinkan.org/docs/flask/api.html#flask.request

Python有很多Web框架,可谓是百家争鸣,我这里列出几个比较叼的几个框架

  • Django 市场占有率最高,官方文档几近完美,但是适合比较大的项目,小项目会显得累赘。
  • Tornado 可异步,性能高,提供更多的底层细节,还能进行Web Socket
  • Web.py 小巧,精炼,扩展不是很多,而且问题是作者太牛掰,被上帝请去喝茶了。
  • Flask 年轻,2010年出现、可扩展、小巧、内置开发服务器和调试器、使用jinja2模板、完全兼容WSGI 1.0

Flask最最简单的一个页面

from flask import Flask # 导入包
 
app = Flask(__name__) # 创建一个Web应用
 
@app.route('/') # 定义路由(Views),可以理解为定义页面的URL
def index(): 
    return "Hello World" # 渲染页面
 
if __name__ == "__main__":
    app.run(host='127.0.0.1',port=8080) # 运行,指定监听地址为 127.0.0.1:8080

开启Debug调试

修改了代码,我们需要将开启的Web程序关闭再开启,这样会影响开发效率,也很烦。

Flask内部有一个功能,专门针对这样的事情发生。

if __name__ == "__main__":
    app.run(host='127.0.0.1',port=8080,debug=True)

debug参数,这个参数默认是False

开启这个功能后,我们每次修改完代码,Web应用对自动进行调整。

现在修改代码并且保存,应用就会自动更新你的代码。

flask代码的基本解释

 from flask import Flask  # 导入包
  
 app = Flask(__name__)  # 创建一个Web应用
 
 @app.route('/')  # 定义路由(Views),可以理解为定义页面的URL
 def index():
     return "Hello World"  # 渲染页面
 
  if __name__ == "__main__":
     app.run(host='127.0.0.1', port=8080)  # 运行,指定监听地址为 127.0.0.1:8080

第3行:Flask需要一个参数,这个参数通常是主模块或是包的名字。所以通常会传入 —“name

第5行:可以通过使用app.config类来修改配置,开启调试模式。当然,这里所采用的方法只能适用于设置很少的时候,以后会介绍另外几种修改配置的方法。

第7行: 还记得我之前提到了MVC吗?这里就是其中V,就是路由。这里的代码的目的就是为我们来指定一个路由,也就是页面的地址。

第8 – 9行: 使用app.route()装饰器会将URL和执行的视图函数(函数 index )的关系保存在app.url_map属性上。当你访问指定的URL时,就会调用这个函数。当遇到第一个return时,就会结束。其中的return就是你的response

第12行: 执行app.run来启动服务器。默认的Flask会监听的地址是127.0.0.1:5000。我们指定host和port参数,就修改了监听地址。 服务启动后,会先判断参数host以及port是否为None,如果为None,就会将host和port修改为默认值。然后会判断debug。然后就会调用werkzeug.serving.run_simple来启动Web服务,默认会使用单进程的werkzeug.serving_BaseWSGIServer来处理客户端的请求。

还要注意的就是,这里的app.run的启动方法,只适合在码代码的时候调试。

flask详细解析

flask启动参数

debug 是否开启调试模式,默认为False;开启后会有出错调试信息,文件会自动加载。
threaded 是否开启多线程,默认为Flase。
host 指定主机,默认为’127.0.0.1’,设置为’0.0.0.0’后可以通过IP进制访问
port 指定端口,默认为5000。
启动示例:app.run(debug=True, threaded=True, host=‘0.0.0.0’, port=5555)

flask路由

链接:https://www.jianshu.com/p/0013ec42176f

请求方式限定

使用 methods 参数指定可接受的请求方式,可以是多种

@app.route('/',methods=['GET'])
def hello():
    return '<h1>hello world</h1>'

@app.route('/',methods=['GET', 'POST'])
def hello():
    return '<h1>hello world</h1>'
路由查找方式

注意:多URL的路由匹配

允许在一个视图处理函数中设置多个url路由规则

@app.route('/')
@app.route(
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值