一.准备环境 1、首先准备一个虚拟的python环境 windows下:virtualenv 下载使用 a: pip install virtualenv b: 在你希望建立虚拟环境的地方执行: virtualenv myenv c:去 myenv\scripts 下面执行: activate.bat //激活虚拟环境 deactivate.bat //退出虚拟环境
Linux下:virtualenv 下载使用 a:yum install python-virtualenv b:在你希望建立虚拟环境的地方执行: virtualenv myenv c:去myenv/bin 下面执行 : source activate//激活虚拟环境 dectivate//退出虚拟环境 d:每次想要开启服务都要到bin目录下执行activate。 如果想简单可以安装virtualenvwrapper。 注意:每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将即将的环境保存到Envs中,就要先设置一下环境变量:export WORKON_HOME=~/Envs,再搭建 具体配置参考:https://blog.csdn.net/leafage_m/article/details/72854559 很详尽。
二. 下载Django,并配置 Windows,linux都是一样的。 1.下载安装django:注意尽量装虚拟环境打开的情况下安装,以防与其他的版本冲突。
pip inistall django==1.11.3具体版本参照:https://blog.csdn.net/misaka10024/article/details/90549458 我是python2.7 就装1.11就行了。 2.进入到你要创建工程的目录执行:
django-admin startproject mysite //创建django工程我们只是启动服务,就不做其他配置,代码书写。就直接运行了。
python manage.py migrate //配置表在python自带的数据库里。 python manage.py runserver //启动服务在Windows里这样就可以直接访问了。
但在linux下我是装在虚拟机里的访问不了。 问题: 虚拟机ip:192.168.0.104 lo127.0.0.1 host和虚拟机可以ping通。 虚拟机里curl 192.168.0.104:8000访问不了。 虚拟机里curl http://127.0.0.1:8000/:8000 可以访问。 很奇怪:虚拟的自环网络可以访问,实际IP却不行。也没解决?有谁知道请告知谢谢了。 解决办法: 一开始我以为是端口不通,就开了端口。也确实要开否则不行。方法如下; 查看已经开放的端口:firewall-cmd --list-ports 开启端口:firewall-cmd --zone=public --add-port=8000/tcp --permanent 重启firewall: firewall-cmd --reload 停止firewall : systemctl stop firewalld.service 禁止firewall开机启动 systemctl disable firewalld.service
结果当然不行 后来发现启动服务可以直接指定ip端口。用如下命令:
python manage.py runserver 192.168.0.104:8000host主机,和linux都能访问了。但画面不对。报如下错误: Invalid HTTP_HOST header: ‘xxx.xx.xxx.xxx:8000’. You may need to add ‘xxx.xx’ to ALLOWED_HOSTS 解决办法: 修改创建项目时生成的setting.py文件 将ALLOWED_HOSTS = []改为ALLOWED_HOSTS = [’*’] 再次运行即可成功访问。 参考:https://blog.csdn.net/buki26/article/details/80745701 https://blog.csdn.net/zuoshenglo/article/details/78404367
改完就可以了