美文网首页
python flask框架学习(三):flask_script

python flask框架学习(三):flask_script

作者: cooqes | 来源:发表于2018-09-30 11:24 被阅读0次
1. manager的作用:可以在终端使用指令来操作程序
2. @manager.option的作用:可以在终端使用指令传参
3. Flask-Migrate是一个为Flask应用处理SQLAlchemy数据库迁移的扩展,使得可以通过Flask的命令行接口或者Flask-Scripts对数据库进行操作。

manager.py

#1. 导入Manager
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

from main import create_app
from db import db
from apps.cms import models

CMSUser = cms_models.CMSUser

app = create_app()
#2. 创建Manager对象,传入flask app作为参数
manager = Manager(app)

#
Migrate(app, db)
#添加'db'命令
manager.add_command('db', MigrateCommand)

#2. 通过命令行传参赋值给对应的变量,例如命令行添加-u abc,相当于username=abc
@manager.option('-u', '--username', dest='username')
@manager.option('-p', '--password', dest='password')
@manager.option('-e', '--email', dest='email')
def create_cms_user(username, password, email):
    user = CMSUser(username=username, password=password, email=email)
    db.session.add(user)
    db.session.commit()
    print('add user model success')


if __name__ == '__main__':
    manager.run()

# 命令行脚本
$ python manage.py db init   初始化数据库,会创建一个migations文件夹,并且会在数据库中生成一个alembic_version表
$ python manage.py db migrate  创建迁移历史
$ python manage.py db upgrade  更新数据库
# 插入一条数据
$ python manage.py create_cms_user -u cooqes -p 111111 -e cooqes@cooqes.com

db.py

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

main.py

from flask import Flask
from apps import *
import config
from db import db


def create_app():
    _app = Flask(__name__)
    _app.config.from_object(config)

    _app.register_blueprint(cms_bp)
    _app.register_blueprint(common_bp)
    _app.register_blueprint(front_bp)
    #初始化db配置
    db.init_app(_app)
    return _app


if __name__ == '__main__':
    app = create_app()
    app.run()

apps/cms/models.py

from datetime import datetime

from db import db


class CMSUser(db.Model):
    __tablename__ = 'cms_user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(50), nullable=False, unique=True)
    join_time = db.Column(db.DateTime, default=datetime.now)

相关文章

  • python flask框架学习(三):flask_script

    1. manager的作用:可以在终端使用指令来操作程序 2. @manager.option的作用:可以在终端使...

  • 个人网站搭建过程记录(一)

    OnekkiSite搭建过程 使用的框架 flask flask_sqlalchemy flask_script ...

  • flask入门

    Flask入门 Flask入门WEB工作原理Flask框架flask_script扩展蓝本(blueprint) ...

  • python中flask_migrate,flask_scrip

    本篇文章给大家带来的内容是关于python中flask_migrate,flask_script的使用介绍(附代码...

  • 十二、Flask_Script介绍与安装

    1、flask_script 的介绍与安装 flask_script的作用是可以通过命令行的形式来操作flask例...

  • python flask安装和命令

    Flask Web开发实战学习笔记 Flask简介 Flask是使用Python编写的Web微框架。Web框架可以...

  • Python学习

    python-flask框架学习(三) flask模板渲染 1、静态文件 静态文件,通常指的是在web 项目下,内...

  • Python学习

    python-flask框架学习(一) Flask是由python实现的一个web微框架,让我们可以使用Pytho...

  • Python学习

    python-flask框架学习(二) 1、回顾Flask 2、Flask route路由 2.1、静态路由 ap...

  • Flask----数据库迁移指令

    一 . 数据库迁移 flask_script Manager 扩展包 通过命令行的方式导入参数python man...

网友评论

      本文标题:python flask框架学习(三):flask_script

      本文链接:https://www.haomeiwen.com/subject/emoioftx.html