繁体   English   中英

Monkey补丁Django Runserver命令

[英]Monkey patch Django runserver command

我想将--env=prod/beta/alpha/devrunserver以便例如执行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

要修改运行服务器,您可以创建一个自定义管理命令 您应该能够继承runserver并添加其他参数。

您可能会发现,设置环境变量比更改runserver命令更容易。 在您的设置中,您将执行以下操作:

import os
env = os.getenv('ENV') or 'dev'

然后,您将使用以下命令运行开发服务器

ENV=dev python manage.py runserver

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM