這個問題用了我整整一晚上的時間才解決,希望有人遇到和我一樣的時能少走些彎路。
啟動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文件, 避免找不到一開始的文件了.
[lousu-xi ] 解決啟動django,瀏覽器顯示“服務器拒絕訪問”的問題已經有235次圍觀