zoukankan      html  css  js  c++  java
  • 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 '数据表迁移成功'
    ```

    人生苦短,何不用python
  • 相关阅读:
    翻译:《实用的Python编程》03_04_Modules
    翻译:《实用的Python编程》03_03_Error_checking
    翻译:《实用的Python编程》03_02_More_functions
    翻译:《实用的Python编程》03_01_Script
    翻译:《实用的Python编程》03_00_Overview
    翻译:《实用的 Python 编程》02_07_Objects
    翻译:《实用的Python编程》02_06_List_comprehension
    生成器
    python编码
    python迭代器
  • 原文地址:https://www.cnblogs.com/yqpy/p/8658459.html
Copyright © 2011-2022 走看看