Flask:Flask-script插件

  Flask-Script插件扩展提供向Flask插入外部脚本的功能,包括一个开发用的服务器,一个定制的python shell,设置数据库的脚本,cronjobs,及其它运行在web应用之外的命令行任务,使得脚本与系统分开

  Flask-Script与Flask本身的工作方式类似,只需要定义和添加从命令行中被Manager实例调用的命令,使用Flask-Script可以轻松的给Flask项目添加脚本命令

1、安装Flask-Script

命令:

pip install flask-script

2、创建并运行命令

  首先,创建一个python模板运行命令脚本,这里使用manage.py

  在该文件中,必须有一个Manager实例,Manager类追踪所有在命令行中调用的命令和处理过程的调用运行情况

  Manager只有一个参数——Flask实例

  调用Manage.run()启动Manager实例接收命令行中的命令

manage.py

from models import models
from views import app
from flask_script import Manager

manage = Manager(app)

# 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
    models.create_all()

if __name__ == ‘__main__‘:
    manage.run()

  这样配置完毕后,我们可以再对pycharm进行配置,这样就可以使用pycharm运行项目,还可以使用Debug进行断点调试

修改默认的runserver配置,命令:

manage.py

from views import app
from flask_script import Manager, Server

manage = Manager(app)
manage.add_command("runserver", Server(use_debugger=True, host="127.0.0.1", port=8000))

运行效果:

 仅在命令行运行项目时候起作用,使用pycharm运行时该配置无效

3、使用Flask-Script创建命令的方法

(1)使用command子类

manage.py

from flask_script import Manager, Command

manage = Manager(app)

class Hello(Command):
    def run(self):
        print("hello")

manage.add_command("hello", Hello())

(2)使用command装饰器

manage.py

from flask_script import Manager

manage = Manager(app)

# 当执行python manage.py migrate时调用migrate函数
@manage.command
def migrate():
    models.create_all()

执行效果:

(3)使用option装饰器

  复杂情况下,建议使用option

manage.py

from flask_script import Manager, Command

manage = Manager(app)

@manage.option("-n", "--name", dest="name", default="world")
def hello(name):
    print("hello %s" % name)

执行结果:

原文地址:https://www.cnblogs.com/xmcwm/p/11811258.html

时间: 2024-10-31 05:28:10

Flask:Flask-script插件的相关文章

No module named flask.ext.script 解决方法

把 .ext. 换成 _ 就OK了 from flask.ext.script import Manager from flask_script import Manager 原文地址:https://www.cnblogs.com/liangmingshen/p/10084300.html

基于whoosh的flask全文搜索插件flask-msearch

flask 的全文搜索插件很少,有个Flask-WhooshAlchemy,最近发现个flask-msearch,使用了下感觉不错. 安装flask-msearch pip install flask-msearch flask配置 from flask_msearch import Search ... search = Search() search.init_app(app) #如果出现"sqlalchemy ValueError"报错,那么修改为 #db = SQLalchem

Flask之Flask_Session插件

一,Flask_Session介绍 因为flask自带的session是将session存在cookie中: 所以才有了第三方Flask_session插件,可以将session存储在我们想存储的数据库中(redis等) 二,使用 首先需要安装一下Flask_session pip install Flask-Session from flask import Flask, request, render_template, redirect, session from flask_sessio

【Flask】第三方插件

Flask-Session 因为flask自带的session是将session存在cookie中: 所以才有了第三方Flask_session插件,可以将session存储在我们想存储的数据库中(redis等) pip install Flask-Session 将session保存在数据库中 注意redis数据库一定是在内网中的且是一台单独的服务器,防止被攻击 from flask import Flask,session,request,render_template from flask

第四篇 与Flask相关的插件(flask-session、wtforms、SQLAchemy)

公司中使用SQL的种方式: 1. 写Django:ORM(关系对象映射), 2. 写Flask和其他:有两种方式: (1) 原生SQL:使用原生SQL有两种选择: A. pymysql (python2 和 python3均支持) B. MySQLDB (仅python2支持) (2) SQLAchemy (也是一种ORM框架,与Django的ORM类似) ORM的内部又会调用pymysql或者MySQLdb,所以其本质还是要会pymysql 和 MySQLdb 一. Flask session

Flask Web Development - Flask插件机制&Flask-Script

本节取自part I chapter 2的后半部分,跳过了关于request与response具体交互设计细节内容.主要通过Flask-Script插件让读者对于插件系统有个简单认识. Flask注重拓展性,社区里已经有很多插件可供选择,当然也可以使用python标准库或者其他的各种库. Flask-Script Flask-Script这个插件,是用来增加Flask应用的命令行参数的,它本身自带了一些通用的选项,也支持自定义的命令.这功能可能类似于python标准库中的argparse. 之前

Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记

<Flask Web开发:基于Python的Web应用开发实战> 点击上方的"目录"快速到达哦! 虽然简单的网站(Flask+Python+SAE)已经上线,但只是入门.开发大型网站,系统地学习一遍还是有必要的. 1 虚拟环境 2016-6-8 书上介绍了 virtualenv,每个venv都会拷贝一份packages到项目 /venv目录. virtualenv venv venv\Scripts\activate.bat (venv) $ pip freeze >

狗书无敌,天下第一(初识flask)

为什么选择使用flask? 和其他框架相比, Flask 之所以能脱颖而出,原因在于它让开发者做主,使其能对程序具有全面的创意控制. 在 Flask 中,你可以自主选择程序的组件,如果找不到合适的,还可以自己开发. Flask 提供了一个强健的核心, 其中包含每个 Web 程序都需要的基本功能,而其他功能则交给行业系统中的众多第三方扩展. 一句话概括就是flask不是一个高度定制化的web框架,你可以做到随心所欲,使用任何可能的扩展来完成你的项目. 狗书的代码已上传GitHub:Companio

flask——简单博客示例教程(四)

原文:https://blog.csdn.net/u014793102/article/category/9285123 Flask从入门到做出一个博客的大型教程(四) 在开始之前,先来看下项目的整体结构. 1 flask 2 ├── app 3 │ ├── forms.py 4 │ ├── __init__.py 5 │ ├── models.py 6 │ ├── routes.py 7 │ └── templates 8 │ ├── base.html 9 │ ├── index.html