flask简介
它是一个非常流行的python Web框架,之所以流行,有一下几个方面:
- 微框架、简洁、只做它需要做的,给开发者提供了很大的扩展性
- Flask和相应的插件写的很好,用起来也很舒服。
- 开发效率高,比如使用SQLAlchemy的ORM操作可以节省开发者大量的书写sql的时间
flask的灵活性非常高,它不会帮你做太多的决策,一些你都可以按照自己的意愿进行更改。
- 使用Flask开发数据库的时候,具体是使用SQLAlchemy还是MongoEngine,选择权完全掌握在自己的手中。区别于Django,Django内置了非常完善和丰富的功能,并且如果你想替换成你自己想要的,要么不支持,要么很麻烦
- 把默认的Jinja2模板引擎替换成其他模板引擎都是非常容易的。
创建flask项目
在专业版中,直接新建一个flask项目,环境为flask的虚拟环境,其他默认,点击创建。会直接生成:
运行之后网页显示为:“hello word":
pycharm开启debug模式和修改host
如果想要开启debug模式和更改端口号,则需要编辑项目配置。直接在app.run中更改时无效的
默认情况下flask不会开启DEBUG模式,开启DEBUG模式后,flask会在每次保存代码的时候自动的重新载入代码,并且代码有错误,会在终端进行提示。
开启debug模式有三种:
1 直接在应用对象中设置:
app.debug=True
app.run()
2 在执行run方法的时候,传递参数进去:
app.run(debug=True)
3 在config属性中设置:
app.config.update(DEBUG=True)
若仍没有开启,直接在Edit中打开debug模式
在开启DEBUG模式后,当程序有异常而进入错误堆栈模式,你第一次点击某个堆栈想查看变量值的时候,页面会弹出一个对话框,让你输入PIN值,这个PIN值在你启动的时候就会出现,比如在刚刚启动的项目中的PIN值为294-745-044,你输入这个值后,Werkzeug会把这个PIN值作为cookie的一部分保存起来,并在8小时过期,8小时以内不需要再输入PIN值,这样做的目的是为了更加的安全,让调试模式下的攻击者更难攻击到本站。
配置文件
Flask项目的配置,都是通过app.config对象进行配置的。比如要配置一个项目处于DEBUG模式下,那么可以使用app.config[‘DEBUG’]=True来进行设置,那么flask项目将以DEBUG模式来运行。在flask项目中,有四种方式进行项目的配置。
1 直接硬编码:
app= Flask(__name__)
app.config['DEBUG'] = True
2 因为app.config是flask.config.Config的实例,而Config类是继承自dict,因此可以通过update方法。
from flask import config
app.config.update(
DEBUG=True,
SECRET_KEY"....."
3 如果你的配置文件项特别多,可以把所有的配置项都放在一个模块中,然后通过加载模块的方式进行配置,假设有一个settings.py模块,专门用来存储配置项的,此时你可以通过app.config.from_object()方法进行加载,并且该方法即可以接受模块的字符串名称,也可以模块对象。
# import config
# 配置文件方法,与上面的import config一起出现
# app.config.from_object(config)
#第二种:
# app.config.from_object('config')
# 第三种:
app.config.from_pyfile('config.py')
app.run()