您的位置: 首页 > 编程笔记

Python之Flask框架:Flask框架简介、安装、使用方法详细攻略

Python Python 3 Flask 时间:2019-09-19  查看:19   收藏

Python之Flask框架:Flask框架简介、安装、使用方法详细攻略

 

Flask框架简介

       对初学者来说,循序渐进是最重要的,我推荐学习 Flask(Welcome | Flask (A Python Microframework)
       Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。Flask 框架学会以后,可以考虑学习插件的使用。例如使用 WTForm + Flask-WTForm 来验证表单数据,用 SQLAlchemy + Flask-SQLAlchemy 来对你的数据库进行控制。
BTW:果壳网基于 Flask 开发的。

1、各个主流框架对比

Django Django:1个重武器,包含了web开发中常用的功能、组件的框架;(ORM、Session、Form、Admin、分页、中间件、信号、缓存、ContenType....);  
       Django。如楼上所说,是一个全能型框架。目前 Django 的使用面还是很广的,有学习的价值,但是不建议初学者学习,因为要学习的东西太多了,一下子难以吸收会失去兴趣。当然,Django 的目的是为了让开发者能够 快速 地开发一个网站,它提供了很多模块,其中我最喜欢的就是 admin 模块,http://your.site.com/admin 就进入了网站的后台(内置的哦~)方便地对数据进行操作,等等。。。。因此,如果对 Django 熟悉的话,papapa 一下子就写好一个网站的原型了。
Tornado

Tornado:2大特性就是异步非阻塞、原生支持WebSocket协议;  

Tornado。传说中性能高高的框架。Tornado 是一个很好的框架,支持异步处理的功能,这是它的特点,其他框架不支持。另外一点是,Tornado 的设计似乎更注重 RESTful URL。但 Tornado 提供了网站基本需要使用的模块外,剩下的则需要开发者自己进行扩展。例如数据库操作,虽然内置了一个 database 的模块(后来独立出去了,现在叫做 torndb,bdarnell/torndb · GitHub)但是不支持 ORM,快速开发起来还是挺吃力的。如果需要 ORM 支持的话,还需要自己写一层将 SQLAlchemy 和 Tornado 联系起来,而且这里还有一个坑。
BTW:知乎就是基础 Tornado 开发的。

Flask Flask:功能和性能虽然不及Django和Tornado,但是Flask的第三方开源组件比丰富;http://flask.pocoo.org/extensions/  
Bottle

Bottle:比较简单;

Bottle 和 Flask 都属于轻量级的 Web 框架。但是 Bottle 似乎落寞了。我觉得跟他的 API 设计有关系。个人认为 Bottle 使用起来不那么顺手,因此也用得少。这里不做太多介绍。

web2py web2py。也是很轻的一个框架,使用不多,也不做介绍。
5. web2py。我看楼上都没有对这个框架做介绍。这个框架是 Google 在 web.py 基础上二次开发而来的,兼容 GAE 。性能据说很高,曾经用他来做自己的主页,感觉也还不错。缺点同样是对扩展支持不太好,需要自己进行扩展。
Quixote Quixote:著名的 豆瓣 就是基于 Quixote 开发的。跟上面几个框架不同,Quixote 的路由会有些特别。另外 Quixote 的性能据说也好。

总结:小型web应用设计的功能点不多使用Flask;  大型web应用设计的功能点比较多使用的组件也会比较多,使用Django(自带功能多不用去找插件);  如果追求性能可以考虑Tornado;     

 

Flask框架安装

Flask的socket是基于Werkzeug 实现的,模板语言依赖jinja2模板,在使用Flask之前需要安装一下;

pip install flask

 

 

Flask框架使用方法

1、小试牛刀,然后访问UR即可得到L

from flask import Flask

app=Flask(__name__) #创建1个Flask实例

@app.route('/')      #路由系统生成 视图对应url,1. decorator=app.route() 2. decorator(first_flask)
def first_flask():    #视图函数
    return 'Hello World'  #response

if __name__ == '__main__':
    app.run()              #启动socket

 

 

相关文章

PythonWEB框架之Flask
Python 有哪些好的 Web 框架?


 

 

0% (0)
0% (0)
0.067588s