用django-admin.py startproject your-project
命令创建项目
报错: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
注意:对于window用户,卸载其他版本Python,也可解决问题;但linux用户,万万不可卸载其他版本的Python,必须用上面方法解决。
配置MySQL数据库,用‘pip3 install PyMySQL’命令安装了pymysql扩展,却还是报错
报错: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” 访问,报错了:
报错:You may need to add '139.196.++.+++' to ALLOWED_HOSTS.
解决办法:在setting.py文件中,找到ALLOWED_HOSTS = []
,在“[]”中添加你的服务器外网ip地址,如:
ALLOWED_HOSTS = ['139.196.++.+++']
然后在你本机,通过“http://服务器ip:8080” 就可以访问你服务器上面的Django项目啦