如何在将参数传递给Django shell的Python脚本时使用管道
我有一个集成测试,它是用来测试我应用程序中多个组件的,算是一个完整的端到端测试。我需要把它连接到Django的命令行界面,这样我才能访问模型等内容。不过,我还需要给脚本传递一个参数。这是我现在的做法:
venv/bin/python src/manage.py shell < src/integration_tests/endtoend.py
但我想要做的是:
venv/bin/python src/manage.py shell < src/integration_tests/endtoend.py -o 2
不过如果我这样做,就会抛出一个异常:
Usage: src/manage.py shell [options]
Runs a Python interactive interpreter. Tries to use IPython, if it's available.
src/manage.py: error: no such option: -o
那我应该怎么做呢?
1 个回答
1
你需要写一个Python脚本,这个脚本可以接收一些参数,然后输出这个脚本的内容,这样你就可以把它传给manage.py来使用。
python src/integration_tests/endtoend.py -o 2 | python src/manage.py shell
我觉得我不会这样做,但这就是你需要做的,以便在命令行中传递参数。
另外的选择还有环境变量和配置文件。