zoukankan      html  css  js  c++  java
  • 8.Flask-Script

    Flask-Script

     Flask-script的作用是可以通过命令行的形式操作flask。安装方式:pip install flask-script

    1.1.command装饰器

    (1)创建manage.py

    from flask_script import Manager
    
    from flask_scripts_demo import app
    
    manager = Manager(app)
    
    @manager.command      #这个装饰器把函数变成在终端可以运行的命令
    def greet():       
        print('你好')
    
    if __name__ == '__main__':
        manager.run()

    (2)执行命令

    在cmd终端运行

    python manage.py greet
    
    # “你好”

     1.2.option装饰器

    manage.py

    from flask_script import Manager
    
    from flask_scripts_demo import app
    
    manager = Manager(app)
    
    @manager.command      #这个装饰器把函数变成在终端可以运行的命令
    def greet():
        print('你好')
    
    #如果函数需要传递参数就用option装饰器
    @manager.option("-u","--username",dest="username")    #第一个参数是简称
    @manager.option("-a","--age",dest="age")
    def add_user(username,age):
        print("添加的用户名是:%s,年龄是:%s"%(username,age))
    
    
    if __name__ == '__main__':
        manager.run()

    在cmd终端添加用户

    python manage.py add_user -u derek -a 18
    
    
    #添加的用户名是:derek,年龄是:18

    1.3. 实例:模拟django通过命令添加超级管理员

    flask-script_demo.py

    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
    import config
    
    app = Flask(__name__)
    app.config.from_object(config)
    db = SQLAlchemy(app)
    
    class BackendUser(db.Model):
        __tablename__ = 'backend_user'
        id = db.Column(db.Integer,primary_key=True,autoincrement=True)
        username = db.Column(db.String(50),nullable=False)
        email = db.Column(db.String(50),nullable=False)
    
    db.create_all()
    
    @app.route('/')
    def hello_world():
        return 'Hello World!'
    
    if __name__ == '__main__':
        app.run()

    manage.py

    from flask_script import Manager
    
    from flask_scripts_demo import app
    from flask_scripts_demo import BackendUser,db
    
    manager = Manager(app)
    
    @manager.option("-u","--username",dest="username")    
    @manager.option("-e","--email",dest="email")
    def add_user(username,email):
        user = BackendUser(username=username,email=email)
        db.session.add(user)
        db.session.commit()
    
    
    if __name__ == '__main__':
        manager.run()

    cmd终端添加用户到数据库

    python manage.py add_user -u derek -e 111@qq.com

     
  • 相关阅读:
    WeihanLi.Npoi 1.10.0 更新日志
    消除代码中的坏味道,编写高质量代码
    代码重构之法——方法重构分析
    使用 C# 捕获进程输出
    .net core 中的经典设计模式的应用
    JDBC 规范中文版 4.2 -第一章 简介
    基础回顾-线程的几种状态
    一文读懂BeanFactory和FactoryBean区别
    阿里云云计算ACA 第三章 阿里云存储服务
    阿里云云计算ACA 第二章 阿里云弹性计算
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/9685423.html
Copyright © 2011-2022 走看看