【问题标题】:Django runserver from Python script来自 Python 脚本的 Django 运行服务器
【发布时间】:2015-09-02 19:07:20
【问题描述】:

启动 Django 服务器的正常方法是从终端或 bash 脚本运行以下命令:

python manage.py runserver [Ip.addr]:[port] 

例如

python manage.py runserver 0.0.0.0:8000

如何从 Python 脚本启动 Django 服务器?

一个选项如下

import os
if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")
    from django.core.management import execute_from_command_line
    args = ['name', 'runserver', '0.0.0.0:8000']
    execute_from_command_line(args)

有没有更好的办法?

【问题讨论】:

  • 为什么要从 python 脚本启动它?
  • 我建议使用实际的网络服务器,就像文档推荐的那样。

标签: python django django-1.8


【解决方案1】:

Python 已经内置了 HTTP 服务器

python -m SimpleHTTPServer

或者你有一个替代方案来运行 django 服务器

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "server.settings")

from django.core.management import call_command
from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application()
call_command('runserver',  '127.0.0.1:8000')

【讨论】:

  • 感谢您的回答,但我收到此错误:django.core.exceptions.AppRegistryNotReady:尚未加载模型。
  • 在 call_command 之前,你可以试试: from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
  • 是的,可以,编辑你的答案,我会选择它作为写答案
猜你喜欢
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 2021-07-09
  • 1970-01-01
  • 1970-01-01
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多