作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 flask-script 包构建了一个命令行 python 脚本来访问常规 APIRest 服务通过 flask 管理的 sql 数据库。我在为我的脚本命令设置参数时遇到问题。特别是:
a) 如何在@manager.options 行中设置默认值
b) 如何设置标志
我试过类似下面的方法:
@manager.option('-m', '--credit', dest='credit', default=-1, help='regular value')
@manager.option('--useCredit', dest='useCredit', default=False, help='boolean')
def newClient(credit=100, useCredit=False):
我设法通过将此添加到函数变量来“破解”默认值,但我不知道@manager.option 中的“默认”参数是什么?此外,useCredit 总是向我索取一个值,我如何将其设为标志?
更新
感谢@carlos 的回答,我意识到我一定是测试错了,因为它确实可以在 manager.option 命令中设置默认参数。似乎我在函数定义 (def newClient(credit=100, useCredit=False) 中放置的任何值都被忽略了。我本以为系统会发出一些警告或错误...
最佳答案
我不太确定问题出在哪里,但是快速模拟您的代码似乎并没有出现与您的代码相同的错误:
from flask.ext.script import Manager
from flask import Flask
app = Flask(__name__)
manager = Manager(app)
@manager.option('-m', '--credit', dest='credit', default=-1)
@manager.option('-u', '--use_credit', dest='use_credit', default=False)
def new_client(credit, use_credit):
if credit is None:
print "credit is", credit
else:
print "credit is", credit, "with use_credit", use_credit
if __name__ == "__main__":
manager.run()
结果输出:
关于python - 如何在 flask 脚本的@manager.options 中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29056328/
我是一名优秀的程序员,十分优秀!