因为我的linux环境是python2.7和python3.6共存的,所以python命令保留,运行python3.6的代码使用python3(已经建立软连接)
一、安装和配置
1.使用下面命令直接安装django
1 | pip3 install django |
2.创建一个项目
1 | django-admin startproject post308 |
如果遇到如下错误:
-bash: django-admin.py: command not found
请查看使用find / -iname “django-admin*”命令查找django-admin的位置,然后使用输全路径运行即可:1
/usr/python/bin/django-admin startproject post308
3.运行项目
进入创建的项目目录,有一个和项目同名的文件夹和manage.py文件,运行manage.py1
python3 manage.py runserver 0.0.0.0:8000
如果遇到如下错误:
ModuleNotFoundError: No module named ‘_sqlite3’
先检查是否安装了_sqlite3模块,因为我是默认python环境是python2.7,所以检查python3.6是否安装了_sqlite3,先进入交互解释器:
1 | Python 3.6.4 (default, Jan 15 2018, 14:18:42) |
(若是查看默认python环境直接linux命令行输入pydoc modules即可查看;)
经过排查,是由于python3.6没有安装_sqlite3模块,直接安装:
1
yum install sqlite3-devel
然后重新编译安装python3.6(请自行查看Python3.6的解压路径,可通过find命令)
继续运行python3 manage.py runserver 0.0.0.0:8000,然后出现了如下错误:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16DisallowedHost at /
Invalid HTTP_HOST header: '10.211.55.6:8000'. You may need to add u'10.211.55.6' to ALLOWED_HOSTS.
Request Method: GET
Request URL: http://10.211.55.6: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:
去项目目录中找到setting.py,修改如下代码
ALLOWED_HOSTS = [‘*’]
重新运行python3 manage.py runserver 0.0.0.0:8000,出现The install worked successfully! Congratulations!说明一切正常!