我目前正在开发一个由同一项目中的多个站点组成的网站,因此我有几个 settings.py 文件,每个文件都有不同的 SITE_ID。在开发过程中,每次我必须通过 8 个设置文件并一个一个地启动运行服务器来进行全面测试并在站点之间导航。
有没有办法让我一次运行它们?我试图为此做一个命令行实用程序,但 management.call_command 接口不允许在后台启动进程。
任何想法我该如何构建东西?
您不能直接通过 python 界面将其作为后台,但您可以简单地为每个站点运行一个进程。例如,在 bash 中,类似
for site in settings_{a,b,c,d}; do
python manage.py runserver --settings $site &
done
如果你想在 python 中运行它,试试这个subprocess
模块,或者你可以management.call_command
通过一个multiprocessing.Pool
.
正如 Variant 所提到的,您还需要在不同的端口上运行它们。
您可以在不同的端口中运行多个站点。为此,您可以像这样启动网站:
/manage.py runserver portnum
您可以在其中更改每个站点的端口号(即 8002、8003 等...)