我想将--env=prod/beta/alpha/dev
添加到runserver
,以便我可以python manage.py runserver --env=prod
为例。
我已尝试添加到settings.py
:
parser = CommandParser(None)
parser.add_argument('--env')
parser.add_argument('args', nargs='*') # catch-all
try:
options, args = parser.parse_known_args(sys.argv[2:])
except CommandError:
pass # Ignore any option errors at this point.
APP_ENV = options.env or 'dev'
但我得到了:
usage: manage.py runserver [-h] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH]
[--traceback] [--no-color] [--ipv6] [--nothreading]
[--noreload] [--nostatic] [--insecure]
[addrport]
manage.py runserver: error: unrecognized arguments: --env=beta
任何想法我怎么能修补runserver
?
答案 0 :(得分:1)
要修改runserver,您可以创建custom management command。您应该能够继承runserver并添加额外的参数。
您可能会发现设置环境变量更容易,而不是更改runserver命令。在您的设置中,您可以执行以下操作:
import os
env = os.getenv('ENV') or 'dev'
然后你将用
运行开发服务器ENV=dev python manage.py runserver