一、设置debug的两种方式:
1、直接在主python文件里面的书写:app.run(debug=True);
2、给flask设置配置文件:app.config.from_object(flask_config),其中flask_config为我们自己书写的python的配置文件,在里面书写:DEBUG = True,即可配置项目debug模式
二、使用模板:在项目根目录下新建一个“templates”文件夹,然后把需要的HTML文件放入即可
三、url链接:使用‘url_for(视图函数名称)’可以反装成url
四、加载静态文件:看图:加载静态文件.png
五、安装mysql_python:windows的下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5,下载完之后解压,在mysql_python目录执行: python setup.py install
python setup.py bdist_wininst
ORM:Object Relationship Mapping
六、No module named MYSQLdb 问题解决:对于不同的系统和程序有如下的解决方法:
easy_install mysql-python (mix os)
pip install mysql-python (mix os)
apt-get install python-mysqldb (Linux Ubuntu)
cd/usr/ports/databases/py-MySQLdb && make install clean (FreeBSD)
yum install MySQL-python (linux Fedora, CentOS)
pip install mysqlclient (Windows)
更多内容请参考下面的这两个链接:
http://stackoverflow.com/questions/454854/no-module-named-mysqldb
http://stackoverflow.com/questions/21440230/install-mysql-python-windows
七、pip添加到环境变量中:D:\python3.6\Scripts
八、安装flask_sqlalchemy:
1、是一套ORM框架(Object Relationship Mapping),
2、安装:pip install flask_sqlalchemy
九、flask_sript:
1、作用是可以通过命令行的形式来操作Flask,
2、安装:pip install flask-script,
3、使用方法:在manager的目录中打开命令行,然后输入:python mananger.py xxxx,其中xxx为定义标记了manage.command的方法,
也可以在另外的文件里面写manager.command方法(方法名命名为:init),然后在manager.py 文件里面用manager.add_command('db',DBManger)的方法引入,在dos里面使用的方法为:
python manager.py db init.
十、Flask_Migrate:
1、介绍;因为采用db.create_all 在后期修改字段的时候,不会自动的映射到数据库中,必须删除表,然后重新运行db.create_all
才会重新映射,这样不符合数据库的设计需求。因此flask_migrate就是为了解决这样的问题,他可以在每次修改模型后,可以将修改的东西
映射到数据库中
2、安装 :pip install flask-migrate
3、使用,配合flask-script使用,包:MigrateCommand中包含了所有和数据相关的命令。
4、命令:python manage.py db init:初始化一个迁移脚本的环境,只需要执行一次;python manage.py migrate:将模型生成迁移文件,
只要模型更改了,就需要执行一次这个命令;python manage.py db upgrade:将迁移文件真正的映射到数据库中,每次执行了migrate命令后
,都需要去执行upgrade命令
十一、flask的session是放在cookie中的,服务器获取session也是从客户端传过来的cookie中拿到session
1、使用session之前都需要设置24位字符的SECRET_KEY,实例:app.config['SECRET_KEY'] = os.urandom(24)
十二、钩子函数(hook)
1、钩子函数有:before_request. context_processor
2、作用:
十三、环境已经安装了model了但是项目中无法引入的话就把环境里面的model的整个文件夹拷贝到项目的model中,例如:把D:\python3.6\Lib\site-packages,中的flask_sqlalchemy拷贝
到项目的:E:\work_space\python_workspace\flask_project\venv\Lib\site-packages文件夹中,这样项目也就引入了该model了
十四:虚拟环境:
1、安装虚拟环境:windows:pip install virtualenv
2、激活虚拟环境:进入到虚拟环境的scripts里面,然后执行:activate
3、退出虚拟环境:deactivate
十五:装饰器:
@wraps
十六、执行manage.py的流程:
1、初始化数据库,在执行之前要确保manage.py里面有引入model,比如引入user这个model到manage.py里面:python manage.py db init
2、迁移:python manage.py db migrate
3、把映射文件映射到数据库中: python manage.py db upgrade,到这里数据库里面就会有和model映射的表