Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在Django上移动域:“quot;错误:该IP地址可以';不能分配给;_Python_Django - Fatal编程技术网

Python 正在Django上移动域:“quot;错误:该IP地址可以';不能分配给;

Python 正在Django上移动域:“quot;错误:该IP地址可以';不能分配给;,python,django,Python,Django,我正在Debian机器上运行Django 1.8。我以前在一个旧域名上运行过Gunicorn网站。现在我正试图把它转移到一个新的领域 我已经更新了Django设置文件中的ALLOWED_HOSTS设置,添加了新域并删除了旧域。我已使用supervisord重新启动Gunicorn。但是,该站点已关闭(CloudFlare的521错误页面) Gunicorn日志中没有错误,因此我通过确保可以运行Django应用程序来启动调试过程 当我尝试使用new域运行runserver时,我看到以下错误: $

我正在Debian机器上运行Django 1.8。我以前在一个旧域名上运行过Gunicorn网站。现在我正试图把它转移到一个新的领域

我已经更新了Django设置文件中的
ALLOWED_HOSTS
设置,添加了新域并删除了旧域。我已使用supervisord重新启动Gunicorn。但是,该站点已关闭(CloudFlare的521错误页面)

Gunicorn日志中没有错误,因此我通过确保可以运行Django应用程序来启动调试过程

当我尝试使用new域运行
runserver
时,我看到以下错误:

$ python manage.py runserver example-new.com:8000
Performing system checks...
System check identified no issues (0 silenced).
June 18, 2015 - 11:14:57
Django version 1.7.7, using settings 'example.settings.local'
Starting development server at http://example-new.net:8000/
Quit the server with CONTROL-C.
Error: That IP address can't be assigned-to.
但是,当我尝试用旧的域运行它时,它仍然工作,奇怪的是:

$ python manage.py runserver example-old.com:8000
Performing system checks...
System check identified no issues (0 silenced).
June 18, 2015 - 11:16:32
Django version 1.8, using settings 'example.settings.local'
Starting development server at http://example-old.com:8000/
Quit the server with CONTROL-C.
我觉得这很奇怪,因为我确信
/example/settings/local.py
是最新的,我的其他设置文件也是最新的


除了
允许的\u主机
,还有什么我需要更新的吗?或者我需要用某种方式让Django发现更新的设置吗?

这是因为您使用的是旧版本。我面临着同样的问题,经过更新,一切都很好

如果我尝试运行
python manage.py runserver google.com:8000
,我会遇到同样的错误。因此,我猜Django可能不认为该站点是一个允许的主机,或者在我的配置中有其他一些权限错误?更多调试:我可以使用
python manage.py runserver xxx.xxx.xxx:8000直接绑定到我的IP地址。我已经在新域前面设置了CloudFlare。这可能与此有关吗?如果您在新域上执行
nslookup
,是否会返回IP?这个IP地址是分配给本地接口的吗?谢谢。我确实看到了一个IP(不是我域的IP),如果我在浏览器中访问,我会看到
错误1003/不允许直接IP访问/您请求的IP地址是CloudFlare网络的一部分
。这很有意义,因为我将CloudFlare放在了新域的前面。我是否需要做一些特殊的事情来让Django与CloudFlare配合使用?我还没有将Django与CloudFlare配合使用,但我敢说Django只愿意绑定到本地接口上的IP。我想知道如果你只是插入CloudFlare,你的旧域名是否可以使用。。。我假设0.0.0.0:8000也可以工作,它只是告诉Django监听所有本地接口。