第一个Django服务的启动及问题

4 篇文章 0 订阅
2 篇文章 0 订阅

一.准备环境
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:8000

host主机,和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

改完就可以了
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值