Python 如何在同一台开发机器上运行两个django应用程序

Python 如何在同一台开发机器上运行两个django应用程序,python,django,Python,Django,我正在尝试运行两个单独的django应用程序,它们需要使用restfull api相互通信。在现实生活中会有两台独立的机器,但在开发过程中,我在不同的端口上运行这两个实例。无论如何都要努力 一个应用程序运行于127.0.0.1:8000,另一个运行于127.0.0.1:9000。 我试过在localhost或0.0.0.0以及所有其他组合上运行,但我一直遇到这些奇怪的错误 407 Client Error: Proxy Authorization Required 或 据我所知,这是一个apa

我正在尝试运行两个单独的django应用程序,它们需要使用restfull api相互通信。在现实生活中会有两台独立的机器,但在开发过程中,我在不同的端口上运行这两个实例。无论如何都要努力

一个应用程序运行于
127.0.0.1:8000
,另一个运行于
127.0.0.1:9000
。 我试过在localhost或
0.0.0.0
以及所有其他组合上运行,但我一直遇到这些奇怪的错误

407 Client Error: Proxy Authorization Required

据我所知,这是一个apache错误,或者
403禁止


在同一台机器上测试两个应用程序的正确方法是什么

没有真正的人。但是您可以尝试使用nginx(尽管这也适用于apache,但使用适当的语法-您应该关心的是总体思路)。您可以定义两个伪域,如domain1.dev和domain2.dev,并构建适当的条目:

server {
    listen 80;
    server_name domain1.dev;
    location / {
        proxy_pass http://127.0.0.1:8000/
    }
}

server {
    listen 80;
    server_name domain2.dev;
    location / {
        proxy_pass http://127.0.0.1:9000/
    }
}

但是,请注意,此设置不完整,您应该了解nginx的工作原理。尽管这里的想法是概念性的,您也可以使用apache来实现这一点。此外,域必须在/etc/hosts(或windows等效程序)中正确定义才能正常工作。

我发现:这对您有帮助吗?感谢@Luis的快速响应,有什么方法可以将此解决方案用于简单的python httpServer?不,您不能。如果您想在不使两个实例的端口不同的情况下同时设置两个实例,那么必须使用像nginx或apache这样的层作为代理。IMHO nginx更简单。顺便说一句,你所遇到的错误很奇怪。你怎么弄到的?特别是第一个,我正在使用requests包将post数据从一个django实例发送到另一个django实例。我一直在玩弄POST/GET和不同类型的数据,试图解决这个问题。无法具体说明我是如何得到第一个的。整个事情看起来不稳定(我第一次运行两台服务器时,请求设法通过了…)。我会试试你的建议。。。谢谢
server {
    listen 80;
    server_name domain1.dev;
    location / {
        proxy_pass http://127.0.0.1:8000/
    }
}

server {
    listen 80;
    server_name domain2.dev;
    location / {
        proxy_pass http://127.0.0.1:9000/
    }
}