Flask简介
flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。
刚好最近愚人节也刚过,是不是自己也和flask挺有缘的(笑)
flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点:
- 微框架、简洁、只做他需要做的,给开发者提供了很大的扩展性。
- Flask和相应的插件写得很好,用起来很爽。
- 开发效率非常高,比如使用SQLAlchemy的ORM操作数据库可以节省开发者大量书写sql的时间
Flask的灵活度非常高,他不会帮你做太多的决策,一些你都可以按照自己的意愿进行更改。
- 使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MongoEngine,选择权完全掌握在你自己的手中。区别于Django,Django内置了非常完善和丰富的功能,并且如果你想替换成你自己想要的,要么不支持,要么非常麻烦。
- 把默认的Jinija2模板引擎替换成其他模板引擎都是非常容易的。
我的第一个flask程序
编程第一步,hello world
通过pycharm创建flask项目
打开pycharm的new project,选择flask进行创建,因为我们自己创建了虚拟环境,所以选择自己的虚拟环境就行
创建好之后发现已经是一个hello world程序了,可恶,不给我发挥的机会
这是flask创建好的hello world
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
我们来看一下这段代码
# 从flask框架中导入Flask类
from flask import Flask
# 传入__name__初始化一个Flask实例
app = Flask(__name__)
# app.route装饰器映射URL和执行的函数。这个设置将根URL映射到了hello_world函数上
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
# 运行本项目,host=0.0.0.0可以让其他电脑也能访问到该网站,port指定访问的端口。默认的host是127.0.0.1,port为5000
app.run(host='0.0.0.0', port=5000)
然后点击运行,在浏览器中输入http://127.0.0.1:5000就能看到hello world了。需要说明一点的是,app.run这种方式只适合于开发,如果在生产环境中,应该使用Gunicorn或者uWSGI来启动。如果是在终端运行的,可以按ctrl+c来让服务停止。
pycharm开启debug模式和修改host
在Pycharm 2018即之后的版本,如果想要开启debug模式和更改端口号,则需要编辑项目配置。直接在app.run中更改是无效的。
第一个框处是用来修改host以及端口号
第二个框处则是用来开启debug模式