Flask入门

Flask框架介绍

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。
BTW:果壳网基于 Flask 开发的

特点
  • 轻松掌握
  • 灵活扩展
  • 免费开源
1. 各个主流框架对比
框架特点
DjangoDjango:1个重武器,包含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存、ContenType…); Django是一个全能型框架。目前 Django 的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django 的目的是为了让开发者能够 快速 地开发一个网站,它提供了很多模块,其中我最喜欢的就是 admin 模块,http://your.site.com/admin 就进入了网站的后台(内置的哦~)方便地对数据进行操作,等等。。。。因此,如果对 Django 熟悉的话,papapa 一下子就写好一个网站的原型了.
TornadoTornado:2大特性就是异步非阻塞、原生支持WebSocket协议; Tornado。传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。但 Tornado 提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。例如数据库操作,虽然内置了一个 database 的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速开发起来还是挺吃力的。如果需要 ORM 支持的话,还需要自己写一层将 SQLAlchemy 和 Tornado 联系起来,而且这里还有一个坑。BTW:知乎就是基础 Tornado 开发的。
Flaskflask:功能和性能虽然不及Django和Tornado,但是Flask的第三方开源组件比丰富;http://flask.pocoo.org/extensions/
BottleBottle:比较简单;Bottle 和 Flask 都属于轻量级的 Web 框架。但是 Bottle 似乎落寞了。我觉得跟他的 API 设计有关系。个人认为 Bottle 使用起来不那么顺手,因此也用得少。这里不做太多介绍。
web2pyweb2py。也是很轻的一个框架,使用不多,也不做介绍。 web2py。我看楼上都没有对这个框架做介绍。这个框架是 Google 在 web.py 基础上二次开发而来的,兼容 GAE 。性能据说很高,曾经用他来做自己的主页,感觉也还不错。缺点同样是对扩展支持不太好,需要自己进行扩展

|Quixote| Quixote:著名的 豆瓣 就是基于 Quixote 开发的。跟上面几个框架不同,Quixote 的路由会有些特别。另外 Quixote 的性能据说也好。|
总结:小型web应用设计的功能点不多使用Flask; 大型web应用设计的功能点比较多使用的组件也会比较多,使用Django(自带功能多不用去找插件); 如果追求性能可以考虑Tornado;
此处参考借鉴一个处女座的程序猿
链接:(https://blog.csdn.net/qq_41185868/article/details/79846111

2. Flask安装

1.使用pip命令安装

pip install flask 
# 如果下载速度较慢,可以使用下面方法,添加下载网址
pip install flask -i 
https://pypi.tuna.tsinghua.edu.cn/simple/
  1. 使用源码安装
python setup.py install
  1. 使用虚拟环境按照
  • 使用virtualenv
  • 使用pipenv
    以上三种方法均可以安装flask,推荐使用第一种方式
  1. 验证flask是否安装成功
    import flask
    flask.__version__
    # 1.1.2
    

验证flask安装

3. 第一个Flask程序
from flask import Flask
app = Flask(__name__)
@app.route('/) # 路由设置
def hello_world():
	return 'Hello World!

解释

  • 参数__name__
    表示Flask应用的主模块或包的名称。Flask使用该参数
    确定应用的位置,然后找到应用中其他文件的位置,如
    网页中的图片目录,模板目录
  • 装饰器app.route()
    表示一个路由配置,即:用户在浏览器输入URL,使用
    对应的函数处理其中的业务逻辑(可写多个)
4. 启动服务器
  • 步骤1 :设置环境变量
    windows :set FLASK_APP=app.py
    linux :export FLASK_APP=app.py
    
  • 步骤2:flask run 启动内置web服务器
    1. 如果直接运行flask run其默认端口是5000
      flask 润
    2. 指定ip及端口
    flask run --host=127.0.0.1 --port=8001
    
    flask run -h 127.0.0.1 -p 8001
    
    其中127.0.0.1代表的是本地,与localhost含义是一样的
    在这里插入图片描述
4. 开启调试模式
  • 功能:代码修改后服务器自动启动
  • 步骤1:设置环境变量
windows:set FLASK_ENV=development
linux:export FLASK_ENV=development # 开发环境
  • 步骤2:flask run 启动内置web服务器
启动调试模式
  • 方法一
    • 直接执行app.py(v1.0以前),
  • 方法二
    • 步骤1:在文件中添加启动代码
    • 步骤2 :python app .py
      提示:切勿在生产环境下开始调试模式
      如下图是生产品模式:Environment:development开发环境
      如下图是生产品模式:Environment:production
      生产模式
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'index'
if __name__ =="__main__":
    app.run(debug=True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值