引子: 最新的ubuntu16.04安装django 2.1 python 环境是3.5
sudo apt-get install python-setuptools
python3: sudo apt-get install python3-pip
python2: sudo apt-get install python-pip
pip install Django==2.0.8
发现无法装第一个最新的
那么我们安装下一个
pip install –pre django
安装模块成功,进入python 加载
python
import django
django.get_version()
Django安装完成之后,接着我们需要安装与他进行合作网站开发的mysql.在ubuntu中安装mysql比较简单,直接使用命令行即可安装,在这里我们使用mysql5.6
sudo apt-get install mysql-server
sudo apt-get install mysql-client
“`不过一般是安装完成mysql-server的过程中,他会自动把mysql-client安装上.在安装中间,他会提示你让你输入root用户的密码,这个密码要记住.
安装完成后,我们测试一下打开我们的数据库搂一眼.“`
mysql -u root -p
//回车之后,输入密码
能够进入之后,就表明我们的数据库安装完成了.
当安装完成Django和Mysql之后,如果想要Django能够找到mysql,我们就需要安装一个驱动,这样来安装:
apt-get update // 更新apt-get源
sudo apt-get install python-mysqldb
安装完成之后,就表明我们的变成环境就搭建完成了,现在ngix暂时使用不到,所以我们后面再讲述如何安装ngix.
安装成功
首先我们需要将工作路径切换到我们希望建工程的目录下:
cd xxxx
本人这里是cd /var/www/djongo
1
然后,在该目录下执行下面的命令:
django-admin startproject HelloWorld
操作如图
这里的HelloWorld就是我们项目的名称.下面我们来看一下新建项目的目录结构.
安装tree 来方便查看
sudo apt-get install tree
HelloWorld: 项目的容器
manage.py: 命令行工具,用于和Django交互
HelloWorld/init.py:空文件,告诉python,该目录是一个Python包
HelloWorld/setting.py : 对该项目的配置文件
HelloWorld/urls.py : 该项目的url声明
HelloWorld/wsgi.py : 服务器入口
当我们的项目新建完成之后,我们就需要测试一下该项目有没有创建成功,也就是能不能运行起来.
python manage.py runserver
提示你有东西没装:
安装下
python manage.py migrate
当我们的服务器启动成功之后,我们就在我们的浏览器中输入http://127.0.0.1:8000,下面我们来看一下运行成功后的浏览器输出.
Python manage.py runserver
改为
python manage.py runserver 0.0.0.0:80
外网和127.0.0.1都能够访问
可能会出现DisallowedHost at / Invalid HTTP_HOST
如图
header:
DisallowedHost at /
Invalid HTTP_HOST header: ‘x:8000’. You may need to add u’10.211.55.6’ to ALLOWED_HOSTS.
Request Method: GET
Request URL: http://x:8000/
Django Version: 1.10.4
Exception Type: DisallowedHost
Exception Value:
Invalid HTTP_HOST header: ‘10.211.55.6:8000’. You may need to add u’10.211.55.6’ to ALLOWED_HOSTS.
Exception Location: /usr/lib/python2.7/site-packages/django/http/request.py in get_host, line 113
Python Executable: /usr/bin/python
Python Version:
1 以上时我访问请求的时候出现的,原因在于Django框架中的创建的一个项目的时候,
2 跑下这个命令:Python manage.py runserver ip:8000 (ip是我阿里云的ip)
3 然后在我本机的浏览器中写入上述IP(ip是我阿里云的ip)和端口请求过去:http://ip:8000
4 于是就出现了最上面的那个问题;
5 于是就去(django-admin.py startproject project-name)创建的项目中去修改 setting.py 文件:
ALLOWED_HOSTS = [‘*’] #在这里请求的host添加了*
6 于是就成功的访问到了Django的项目了;
操作代码:
找到 settings.py
cd /var/www/djongo/HelloWorld/HelloWorld
vi settings.py
找到 这一行
**把ALLOWED_HOSTS = []改为
ALLOWED_HOSTS = [‘‘]*
再次来到/var/www/djongo/HelloWorld 启动服务
(注意路径 只有/var/www/djongo/HelloWorld 下 有 mamage.py)
当我们修改了代码之后,服务器会自动检测其代码的改变,所以,不需要重新启动服务器了.
nohup python manage.py runserver 0.0.0.0:9000 &
nohup用途:不挂断地运行命令
ps:&可以不写
查看后台某个进程:
ps -ef|grep “python”
通过9000端口来访问
这里显示 favicon.ico 是默认的请求收藏夹图标的请求
可以设置忽略。 类似nodejs 中的设置忽略
好了,基本的环境我们已经做的差不多了,后面我们将会学习使用Django.最后,完成一个网站的开发.