我是靠谱客的博主 腼腆大神,最近开发中收集的这篇文章主要介绍04flask_scripts使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1,flask_script作用

flask_script的作用是可以通过命令行的实行来操作Flask,例如通过命令跑一个开发版本的服务器,设置数据库,定时任务等,

我们把脚本命令代码放在一个叫做manage.py的文件中,然后运行python manage.py hello命令就可以输出print后的内容了。
这里实际上用print模拟我们的操作,具体操作会替换print的内容。

2,安装flask_scripts

要使用flask_script,可以通过pip install flask_script安装最新版本。直接在pycharm安装或者使用wheel安装。

3,具体操作

主要的点和Django一样,这里新建一个manage.py文件,里面集成这些服务器功能,具体过程如下:。

#flask_script_demo.py

from
flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
#manage.py
from
flask_script import Manager from flask_script_demo import app #从上面的文件中引入app from db_scripts import DBManager #db_scripts专门写数据库相关的文件的。
manager = Manager(app) 
@manager.command
def runserver():
  print(
"服务器跑起来了!!") # “runserver”直接就写在manage.py文件中,所以在cmd命令中使用“python manage.py runserver”
# 和数据库相关的操作都放在一起
manager.add_command(
'db',DBManager)
# db是命令前缀,作用:区别于“runserver”直接写在manage.py文件中,这个是写在专门给数据库的文件里的,
# 前面加上“db”是便于在cmd命令中使用“python manage.py db init”,注意这个“db”,他相当于子命令
if __name__ == '__main__':
  manager.run()
#db_scripts.py
from
flask_script import Manager DBManager = Manager() # 这里括号里不用加“app”,因为这里不是主文件 @DBManager.command def init(): print("数据库初始化完成!") @DBManager.command def migrate(): print("数据表迁移成功!")

4,注意点

这里使用的是虚拟环境,我们运行服务器不是在pycharm里,而是在cmd里,我们进入如下文件夹(该项目根目录):

然后在框中cmd,执行下图,命名为“”python manage.py  runserver”,注意这是直接写在manage.py里的函数:

我们再写manage.py调用“db_scripts.py”的文件:

效果如图:

=================================================================================================

下面我们具体讲讲“manager.add_command('db',DBManager)”的用法: 

这里为什么加了个“db”?

可以看到manage.py中有这么一句:

@manager.command 
def runserver(): 
  print("服务器跑起来了!!")

  这是直接存在于manage.py中的一句话,但是对于被导入到manage.py文件中的“init”和migrate而言,不能直接通过“python manage.py init”来直接运行服务器

#db_scripts.py
from flask_script import Manager

DBManager = Manager()
# 这里括号里不用加“app”,因为这里不是主文件

@DBManager.command
def init():
    print("数据库初始化完成!")
@DBManager.command
def migrate():
    print("数据表迁移成功!")

 这里的原因就是为了区别被导入文件与本身就有的文件的区别,正确的服务器运行代码应该为:python manage.py prex init

转载于:https://www.cnblogs.com/two-peanuts/p/10726640.html

最后

以上就是腼腆大神为你收集整理的04flask_scripts使用的全部内容,希望文章能够帮你解决04flask_scripts使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部