flask+script命令行交互工具

Project name :Flask_Plan

templates:templates

static:static

首先说,我们flask比django方便的地方是所有的模块都可以自己选,你不喜欢sqlalchemy这个orm,你可以换一个,别问我,我也不会,学的就是sqlalchemy。

django提供了一个数据库设升级工具migrate,我们也需要啊,否则后期增加功能,数据库就头痛死。

好吧,我们也给flask加上这样的功能。

我不准备再写sqlalchemy的文章了。

直接写flask_sqlalchemy吧,同时配合flask_migrate,配合flask_script

安装也很简单。

创建Flask_Plan/manage.py

from flask_script import Manager
from Flask_Plan import app

manager = Manager(app)
@manager.command
def runserver():
    print(‘hello‘)

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

直接运行这个文件

usage: managy.py [-?] {runserver,shell} ...

提示到了你需要使用 managy.py runserver 来运行。

那么我们就在该目录下 运行

python managy.py runserver

会输出我们的hello

我是用的虚拟环境的python

命令如下图

但是我们用的是pycharm,还老进这命令行干吗?

参考以下配置:

File--Settings--tools--External Tools

用右边的加号自己创建一个新的。

Name是你会在菜单里看到的。

Program:是python的位置,这个是我的虚拟环境中python的位置。

Parameters:就是可选的命令参数了。

高级用法:如果命令多了,怎么写?都写这一个文件,找起来累死了。

把一类命令放进一个script文件

创建Flask_Plan/db_script.py

from flask_script import Manager

DBmanager = Manager()

@DBmanager.command
def init():
    print(‘数据库初始化‘)

@DBmanager.command
def migrate():
    print(‘数据库比较‘)

@DBmanager.command
def update():
    print(‘数据库升级‘)

编辑Flask_Plan/manage.py

from flask_script import Manager  #引入script的manager
from Flask_Plan import app        #引入启动文件的app(实例化的FLASK)
from db_script import DBmanager   #引入DB类的命令文件

manager = Manager(app)             #实例化manager
@manager.command                   #用装饰器表明下面的函数是个manager命令
def runserver():                   #函数名称就是manager命令的参数
    print(‘hello‘)

manager.add_command(‘db‘,DBmanager)  #把引入的DB命令,加入manager中

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

引入了DB类的命令文件

把命令都加入了manager

直接运行一下managy.py

提示信息:

usage: managy.py [-?] {runserver,db,shell} ...

positional arguments:
  {runserver,-db,shell}
    runserver
    -db   

看到提示-db了么?这就是我们把命令加入manager时候用的前缀,开始有点像dos命令了。

运行命令是这样的:

貌似我们已经实现了django中

makemigrations

migrate

两个命令。

配置进pycharm

File--Settings--tools--External Tools

后面讲migrate的时候会用到。

原文地址:https://www.cnblogs.com/jackadam/p/8146720.html

时间: 2024-10-28 15:46:37

flask+script命令行交互工具的相关文章

libvirt 命令行交互工具之virsh

libvirt是当前主流VM最低层库.IBM PowerVM也不例外,libvirt是深入玩虚拟化必须玩转的东西; 简单测试玩玩libvirt 的virsh命令行交互工具, 你我都知识libvirt大体上主要有3个组件,分别是: 1. libvirt daemon进程 2. 命令行工具virsh 3. libvirt API virsh命令使用 virsh <command> <domain-id> [OPTIONS] virsh既有命令行模式,也有交互模式,在命令行直接输入vir

如何用nodejs 开发一个命令行交互工具

参考地址1.参考地址2 一.npm package.json bin 1.package.json { "name": "test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "e

Linux上超酷的命令行扩展工具Oh My Zsh

Oh My Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh My Zsh 是一种生活方式.它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作.给我们一种全新的方式使用命令行. 什么是 Oh My ZshOh My Zsh 这个名字听起来就很有意思~, 它是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能. Oh My Zsh 的主页上,对它的定义有了明确的解释:http://ohmyz.sh 关于 zsh,它是一种命令行程序.我们 MAC 系统上默认使用

PowerCmd(命令行增强工具) 2.2 免费版

软件名称: PowerCmd(命令行增强工具) 2.2 免费版 软件语言: 英文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 1.8MB 图片预览: 软件简介: 一款Windows CMD软件的增强工具,可以比普通CMD工具提供更多选项 软件下载页面:http://www.bkill.com/download/9020.html 软件下载地址:电信下载 联通下载

12款最佳Linux命令行终端工具

12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件,可以用来替代debian系的Linux原生终端. Tilda tilda 这是一款可配置的雷神之锤风格的终端工具,也就是说,当用户敲击配置好的热键(缺省是F1)时,这个终端会从屏幕的顶端滑出,就跟雷神之锤游戏中的效果一样. 它的安装方法: apt-get install tilda Tilda跟其

[转]12款最佳Linux命令行终端工具

摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原文链接:12款最佳Linux命令行终端工具 内容 如果你跟我一样,整天要花大量的时间使用 Linux 命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件,可以用来替代 debian 系的 Linux 原生终端. Tilda 这是一款可

iOS系统提供开发环境下命令行编译工具:xcodebuild

iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单来说,Workspace就是一个容器,在该容器中可以存放多个你创建的Xcode Project, 以及其他的项目中需要使用到的文件. 使用Workspace的好处有: 1),扩展项目的可视域,即可以在多个项目之间跳转,重构,一个项目可以使用另一个项目的输出.Workspace会负责各个Project

命令行开发工具

android 1.全局选项: -s    --silent : Silent mode,show errors only -v    --verbose : Verbose mode,show errors,warnings and all messages         --clear-cache:Clear the SDK Manager repository manifest cache -h   --help : Help on a specific command 2.子命令: s

python之命令行解析工具argparse

以前写python的时候都会自己在文件开头写一个usgae函数,用来加上各种注释,给用这个脚本的人提供帮助文档. 今天才知道原来python已经有一个自带的命令行解析工具argparse,用了一下,效果还不错. argparse的官方文档请看 https://docs.python.org/2/howto/argparse.html#id1 from argparse import ArgumentParser p = ArgumentParser(usage='it is usage tip'