我尝试使用自定义设置在命令中执行runserver.但是没有加载设置:
from django.core.management.base import BaseCommand
from django.core.management import call_command
from django.core.management import setup_environ, ManagementUtility
import settings_api
setup_environ(settings_api)
class Command(BaseCommand):
help = "Local API to retrieve realtime quotes"
def handle(self, *args, **options):
if not settings_api.DEBUG:
call_command('runserver', '127.0.0.1:8002')
else:
call_command('runserver', '0.0.0.0:8002')
Run Code Online (Sandbox Code Playgroud)
输出是:
Used API settings
Used API settings
Validating models...
0 errors found
Django version 1.4b1, using settings 'site.settings'
Development server is running at http://0.0.0.0:8002/
Quit the server with CONTROL-C.
Run Code Online (Sandbox Code Playgroud)
Ignacios的回答指出了正确的方向:用自定义设置执行命令param解决了它:
./manage.py command --settings=settings_api
Run Code Online (Sandbox Code Playgroud)
更多细节在这里