>[danger] 首先,遇到問題,能用谷歌的話,盡量用谷歌!
* * * * *
用`django-admin.py startproject your-project`命令創建項目
>[warning] 報錯:ImportError: No module named django.core
明明已經安裝好了Django,卻提示沒有Django模塊,搞什么鬼?
最后查閱資料發現,是因為安裝了多個版本Python。
**解決辦法:**
~~~
python3 /usr/local/python3.5.2/lib/python3.5/site-packages/django/bin/django-admin.py startproject your-project
~~~
>[danger] 注意:對于window用戶,卸載其他版本Python,也可解決問題;但linux用戶,萬萬不可卸載其他版本的Python,必須用上面方法解決。
* * * * *
配置MySQL數據庫,用‘pip3 install PyMySQL’命令安裝了pymysql擴展,卻還是報錯
>[warning] 報錯:No module named 'MySQLdb'
在__init__.py文件中添加下面代碼,即可解決:
~~~
import pymysql
pymysql.install_as_MySQLdb()
~~~
* * * * *
為了方便測試,在服務器上`python manage.py runserver 0.0.0.0:8080`,外網卻不能通過服務器ip訪問,也不報錯,后來發現是防火墻的原因,除了指定的端口外,其他端口訪問都會被防火墻拒絕,解決辦法:
~~~
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
~~~
允許 8080 端口
~~~
service iptables save
~~~
保存 iptables 規則
* * * * *
然后再通過“http://139.196.++.+++:8080” 訪問,報錯了:
>[warning] 報錯:You may need to add '139.196.++.+++' to ALLOWED_HOSTS.
解決辦法:在setting.py文件中,找到`ALLOWED_HOSTS = []`,在“[]”中添加你的服務器外網ip地址,如:
~~~
ALLOWED_HOSTS = ['139.196.++.+++']
~~~
然后在你本機,通過“http://服務器ip:8080” 就可以訪問你服務器上面的Django項目啦