这个问题用了我整整一晚上的时间才解决,希望有人遇到和我一样的时能少走些弯路。
启动Django,服务器拒绝访问,可以尝试以下方法解决:
1. 没有开启允许访问
编辑你所创建项目(HelloWorld)目录下settings.py,把其中的
ALLOWED_HOSTS=[] 修改为 ALLOWED_HOSTS=['*'] // '*'表示任意地址
2.Django版本太高(SQLite3版本太低)
运行python3 manage.py runserver 0.0.0.0:8000报错:
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17)
由于CentOS所带的SQLite3版本太低,在错误提示中SQLite版本至少要3.8.3,所以有两种方法解决:降低Django版本、升级SQLite。
个人觉得给Django降级更简单。
卸载django: pip3 uninstall django
安装低版本django: pip3 install django==2.1.8
3.SQLite3版本3.7的问题
运行python3 manage.py runserver 0.0.0.0:8000报错:
django.db.utils.Notsupportederror: urls not supported
用pip3 show django查看django文件路径,在这个路径
python3.6/site-packages/django/db/backends/sqlite3/base.py
中找到base.py,并编辑 base.py 文件。
将'uri':True改为'uri':False
4.其它问题
如果还没解决问题,那就换个浏览器试试,或者看看防火墙。
最后,相信你一定会看到这个界面的
补充知识:运行django的时候出现127.0.0.1:8080 服务器拒绝访问
当使用python manage.py runserver的时候出现127.0.0.1:8080 服务器拒绝访问,这时候是我们修改了host文件里面的内容:
还是不好截图….:
打开终端:
$ sudo gedit /etc/hosts
打开文件:
“`
127.0.0.1 localhost
127.0.0.1 Inspiron-5421
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters“`
这里我们只需要把:127.0.0.1 Inspiron-5421 给删除掉就行了.当然前提是要备份一份hosts文件, 避免找不到一开始的文件了.
以上这篇解决启动django,浏览器显示“服务器拒绝访问”的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。