Flask web开发之路九
flask_scripts介绍
项目结构如下:

flask_script_demo.py文件:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
db_scripts.py文件:
from flask_script import Manager DBManager = Manager() @DBManager.command
def init():
print('数据库初始化完成') @DBManager.command
def migrate():
print('数据库迁移成功')
manage.py文件:
from flask_script import Manager
from flask_script_demo import app
from db_scripts import DBManager manager = Manager(app) #和数据库相关的文件,都放在一起
@manager.command
def runserver():
print('服务器跑起来了')
manager.add_command('db',DBManager) if __name__ == '__main__':
manager.run()
在终端中操作:

### Flask-Script的介绍与安装:
1. Flask-Script:Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。
2. 安装:首先进入到虚拟环境中,然后`pip install flask-script`来进行安装。
3. 如果直接在主`manage.py`中写命令,那么在终端就只需要`python manage.py command_name`就可以了。
4. 如果把一些命令集中在一个文件中,那么在终端就需要输入一个父命令,比如`python manage.py db init`。
5. 例子:
```
from flask_script import Manager
from flask_script_demo import app
from db_scripts import DBManager
manager = Manager(app)
# 和数据库相关的操作,我都放在一起
@manager.command
def runserver():
print '服务器跑起来了!!!!!'
manager.add_command('db',DBManager)
if __name__ == '__main__':
manager.run()
```
6. 有子命令的例子:
```
#encoding: utf-8
from flask_script import Manager
DBManager = Manager()
@DBManager.command
def init():
print '数据库初始化完成'
@DBManager.command
def migrate():
print '数据表迁移成功'
```
Flask web开发之路九的更多相关文章
- Flask web开发之路一
之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...
- Flask web开发之路十四
今天开始Flask的实战,创建一个项目,实现包括用户登录.注册.注销.发表博客.评论以及检索等功能 首先给出项目结构: 1.config.py文件: 存放各种配置信息 import os # dial ...
- Flask web开发之路十三
g对象 ### 保存全局变量的g属性:g:global1. g对象是专门用来保存用户的数据的.2. g对象在一次请求中的所有的代码的地方,都是可以使用的. 项目结构: g_demo.py文件代码: f ...
- Flask web开发之路十二
ge请求和post请求 ### get请求和post请求:1. get请求: * 使用场景:如果只对服务器获取数据,并没有对服务器产生任何影响,那么这时候使用get请求. * 传参:get请求传参是放 ...
- Flask web开发之路十一
首先写一下cookie和session的概念,然后是Flask中session的工作机制以及操作session ### cookie: 1. `cookie`出现的原因:在网站中,http请求是无状态 ...
- Flask web开发之路十
首先介绍循环引用的问题: 当一个模块需要引用另一个模块的类,而另一个模块又需要引用这个模块的类时,就出现了循环引用,而没法导入类,这时候可以切断其中一条引用路径,增加一个模块 项目结构: models ...
- Flask web开发之路八
今天写Flask_SQLAlchemy的外键及其关系 ### Flask-SQLAlchemy外键及其关系: 主app文件代码: from flask import Flask from flask_ ...
- Flask web开发之路七
今天写SQLAlchemy数据库 首先介绍ORM的概念: ORM,Object类,Relationship:关系,Mapping:映射,也就是模型关系映射 flask-sqlalchemy是一套ORM ...
- Flask web开发之路六
紧接着上篇文档,写模板继承和block,URL链接和加载静态文件 模板继承和block 项目结构 主app文件代码: from flask import Flask,render_template a ...
随机推荐
- SpringMVC项目配置欢迎页面为index.html
一.问题 在web.xml中添加如下配置无效 <welcome-file-list> <welcome-file>index.html</welcome-file> ...
- C#高级编程四十一天----用户定义的数据类型转换
用户定义的数据类型转换 C#同意定义自己的 数据类型,这意味着须要某些 工具支持在自己的数据类型间进行数据转换.方法是把数据类型转换定义为相关类的一个成员运算符,数据类型转换必须声明为隐式或者显式,以 ...
- APICloud和海马玩模拟器结合调试手机页面
https://blog.csdn.net/pleasecallme_522/article/details/54577904
- IDEA使用笔记(四)——工具栏的显示隐藏切换
这也是在玩快捷键的时候,自己试验出来的,觉得不常用但是一旦想用了可能一下不知道怎么弄,还需要找,不如记下来,起码能加深一下印象!
- ES 安装 head安装
https://www.elastic.co/downloads/elasticsearch http://www.cnblogs.com/xuxy03/p/6039999.html https:// ...
- C#学习笔记(33)——批量修改word标题
说明(2017-12-22 11:20:44): 1. 因为数学脚本的主标题和副标题没有格式,目录导航里不显示,修改的时候不好定位,所以需要改成下图格式: 2. 问题的难点有两个,一个是word的操作 ...
- python 中的map,dict,lambda,reduce,filter
1.map(function,sequence) 对sequence 中的item依次执行function(item), 见执行结果组成一个List返回 例如: #!/usr/bin/python # ...
- asp.net ashx一般处理程序实现async await异步操作
目前项目存在页面展示大量图片,效率不高,考虑优化性能,改为ashx+异步下载的方式,废话不说直接贴code: using System; using System.Web; using System. ...
- ssh免密码登录配置方法
每次输密码很麻烦,免密登录设置方法按照<ssh免密码登录配置方法>即可,简单来说: 1.终端上执行ssh-keygen -t rsa,生成密钥对(存放在/home/usera/.ssh). ...
- MUI 打包android app
自有证书生成方法 manifest配置 (2).图标配置:所有图片格式必须是png,且严格符合分辨率要求.使用其他图片格式重命名为png会导致打包失败.配置图标时选择自动生成所有适用图标,选择一个大图 ...