下面是关于“Flask之flask-script模块使用”的完整攻略,包含两个示例说明。
什么是 Flask-Script 模块?
Flask-Script 是 Flask 外部扩展库之一,它提供了一组命令行快捷方式,可用于管理应用程序的各种任务,例如初始化数据库、运行开发 web 服务器,等等。Flask-Script 使命令行交互更加方便。
安装 Flask-Script
要安装 Flask-Script,你可以运行以下命令:
pip install Flask-Script
接下来我们看两个具体的示例
示例1:使用 Flask-Script 初始化数据库
在 Flask 项目中,经常需要初始化数据库。下面是使用 Flask-Script 初始化 SQLite 数据库的示例:
- 首先,我定义一个“database.py”文件,实现对SQLite数据库的连接和数据库书写;
from flask import Flask, g
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy(app)
def get_db():
if 'db' not in g:
g.db = sqlite3.connect(
current_app.config['DATABASE'],
detect_types=sqlite3.PARSE_DECLTYPES
)
g.db.row_factory = sqlite3.Row
return g.db
@app.teardown_appcontext
def close_db(e=None):
db = g.pop('db', None)
if db is not None:
db.close()
-
在命令行模式下进入到项目目录;
-
启动 Python 解释器,导入
Manager
和db
对象(Manager
对象用于管理项目的命令行任务,db
对象用于操作 SQLite 数据库):
from flask_script import Manager
from database import db
manager = Manager(app)
@manager.command
def init_db():
with app.app_context():
db.create_all()
- 然后就可以在命令行中使用
init_db
命令初始化数据库了:
python manage.py init_db
示例2:使用 Flask-Script 运行开发 web 服务器
下面是使用 Flask-Script 运行开发服务器的示例:
-
同样地,我们需要在命令行模式下进入到项目目录;
-
导入
Manager
对象和app
实例; -
定义一个运行 web 服务器的命令,使用
manager.option()
装饰器来添加参数:
from flask_script import Manager, Server
from app import app
manager = Manager(app)
manager.add_command('runserver', Server(
use_debugger=True,
use_reloader=True,
host='0.0.0.0',
port=5000
))
其中,host
参数表示监听的 IP 地址,port
参数表示监听的端口号。
- 运行开发服务器:
python manage.py runserver
这样就可以在浏览器中访问你的 Flask 项目了。
以上就是 Flask-Script 的使用方法,更多详细信息可以查看 Flask-Script 的官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Flask之flask-script模块使用 - Python技术站