更多Flask
阅读指南:
Flask基础学习
- 使用virtualenv实现python的虚拟环境
- Python Flask 入门开发
- Python Flask框架配置管理加载的三种方式
- Python Flask 路由配置
- Python Flask静态文件配置
- Python Flask模板渲染
- Python Flask 蓝图Blueprint
- Flask 使用Context上下文
- Flask中SQLAlchemy的使用
Flask 扩展
- 使用flask-script实现Flask项目定制shell功能
- Flask 中使用flask-admin实现数据模型绑定视图
- Flask 中使用mysql数据库
- Flask使用flask-migrate实现数据库迁移
Flask 进阶
Flask
提供了很多有用的扩展程序,我们可以通过使用flask-script
扩展来实现软件的运行、配置数据库、以及自定义shell
命令的目的。如下,介绍如何去使用flask-script
这个扩展。
安装
$ pip install flask-script
使用
如下,通过一个简单的示例来了解下如何使用flask-script这个扩展。
#main.py
from flask_script import Manager,Shell,Server,prompt_bool
form app import app,db,PasteFile
manager = Manager(app)
def make_shell_context():
return {
'db':db,
'PasteFile':PasteFile,
'app':app,
}
@manager.command
def dropdb():
if prompt_bool('是否确认删除所有数据?'):
db.drop_all()
@manager.option('-h','--filehash',dest='filehash')
def get_file(filehash):
paste_file = PasteFile.query.filter_by(filehash=filehash).first()
if not paste_file:
print '文件不存在'
else:
print('URL is {}'.format(paste_file.get_url('i')))
manager.add_command('shell',Shell(make_context=make_shell_context))
manager.add_command('runserver',Server(
user_debugger=True,user_reloader=True,host='0,0,0,0',port=9000
))
if __name__ == '__main__':
manager.run()
使用命令格式如下:
$ python main.py <command-name>
// 示例
$ python main.py runserver
如上,通过flask-script
实现定制命令:
dropdb
:删除数据库get_file
:通过hash
获取文件路径runserver
:运行服务shell
:自带三个内置变量的shell