python2.7 - django 访问问题

查看:97
本文介绍了python2.7 - django 访问问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.ubutu12.04 vagrant(虚拟机 -ubutu12.04) python2.7 django 1.10.3

2.安装已经完成。

root@precise32:python manage.py migrate

root@precise32:/usr/local/frist_django# python manage.py runserver 0.0.0.0:8000
Performing system checks...
System check identified no issues (0 silenced).
November 28, 2016 - 08:45:17
Django version 1.10.3, using settings 'frist_django.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

3.django已经启动,但是在访问的时候,只能出现问题。
1)只能使用127.0.0.1:8000 访问,使用localhost:8000和ip:8000都访问不成功
2)django放在虚拟机中,同网段的服务器在访问django时候也报错。

报错内容一般是:

Invalid HTTP_HOST header: '192.168.9.209:8000'. You may need to add u'192.168.9.209' to ALLOWED_HOSTS.
[28/Nov/2016 08:51:00] "GET / HTTP/1.1" 400 60610
Invalid HTTP_HOST header: '192.168.9.209:8000'. You may need to add u'192.168.9.209' to ALLOWED_HOSTS.
[28/Nov/2016 08:54:46] "GET / HTTP/1.1" 400 60610
Invalid HTTP_HOST header: '192.168.9.209:8000'. You may need to add u'192.168.9.209' to ALLOWED_HOSTS.
[28/Nov/2016 09:05:45] "GET / HTTP/1.1" 400 60610

其中0.0.0.0:8000中的0.0.0.0 不是代表一切ip吗?

当前关于debug设置为:
DEBUG = True
ALLOWED_HOSTS = []

解决方案

你可以设置ALLOWED_HOSTS = ['*'],但是强烈不推荐这么做。如果你的DEBUG设置为False,则必须设置ALLOWED_HOSTS. 在开发阶段可以设置DEBUG为True。查看文档发现

When DEBUG is True and ALLOWED_HOSTS is empty, the host is validated against ['localhost', '127.0.0.1', '[::1]'].

在DEBUG的也有相关描述

Finally, if DEBUG is False, you also need to properly set the ALLOWED_HOSTS setting. Failing to do so will result in all requests being returned as Bad Request (400).

参考文档 https://docs.djangoproject.co...

这篇关于python2.7 - django 访问问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆