设置Django项目的默认端口

时间:2014-07-11 09:12:12

标签: python django

我有多个Django项目被用作单独的服务,然后彼此使用它们作为回报。

这意味着所有服务都设置在各个端口上运行,这可能有点不可靠,因为我需要记住在启动项目时

manage.py runserver 0.0.0.0:8080

理想情况下,对于每个项目,我只使用runserver命令,它会知道自动运行哪个端口。

这是否可以在不需要bash别名的情况下实现?

3 个答案:

答案 0 :(得分:1)

这远远超出了开发服务器应该做的范围。如果您需要以可以实际相互通信的方式运行应用程序,即使在开发中,您也应该使用更可配置的服务器。 Gunicorn是理想的。然后你可以使用Foreman(或Python端口,Honcho)这样的东西和一个列出所有应用程序及其端口的Procfile,然后用一个命令启动整个事情。

答案 1 :(得分:0)

考虑一下:该信息必须存储在某个地方。因此,您可以将其放在配置文件中,并创建一个加载适当主机和端口的脚本来运行。 manage.py文件不支持特定的配置文件,因此您需要在manage.py. The script would then call manage.py runserver host:port`之外执行此操作,并提供正确的详细信息。

答案 2 :(得分:0)

我曾试图这样做,我想也许我会在setting.py中设置默认端口。

当我挖掘代码时,我发现默认端口号在django/core/management/commands/runserver.py中定义。它被所有django项目使用,因此您无法为不同的django项目设置单独的默认端口。