创建第1个Django项目

参考:

http://www.runoob.com/django/django-first-app.html

环境准备:一台CentOS7,装有python3(带有pip3工具)。

 

首先使用pip安装django:

pip3 install Django==2.2

创建第1个Django项目

 

安装 Django 之后,此时应该有可用的管理工具 django-admin,使用它来创建项目:

创建第1个Django项目

创建第一个项目:

django-admin startproject HelloWorld

查看项目结构:

cd HelloWorld/
tree

.
|-- HelloWorld
|   |-- __init__.py
|   |-- settings.py
|   |-- urls.py
|   `-- wsgi.py
`-- manage.py

目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

 

在HelloWorld 目录输入以下命令,启动服务器:

python3 manage.py runserver 0.0.0.0:8000

在不出错的情况下,可以访问了。

 

错误排查

 

错误1:

django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

可以通过如下方法解决:注释掉抛出异常的语句。

查找django安装目录:

cd /
find -name django

然后发现相关目录:

./usr/local/lib/python3.6/site-packages/django
./usr/local/lib/python3.6/site-packages/django/forms/jinja2/django
./usr/local/lib/python3.6/site-packages/django/forms/templates/django

修改sqlite的base.py:

vi /usr/local/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py

注释掉抛出异常语句(然后提示expected an indented block,所有随便加了一条语句,构成一个block):

创建第1个Django项目

正常启动:

[[email protected]_0_5_centos HelloWorld]$ python3 manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

April 26, 2019 - 07:47:32
Django version 2.2, using settings 'HelloWorld.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

 

错误2

服务启动后,访问页面出现如下情况:

后端输出:

DisallowedHost at /
Invalid HTTP_HOST header: '123.207.77.57:8000'. You may need to add '123.207.77.57' to ALLOWED_HOSTS.

页面:

创建第1个Django项目

解决:

修改项目HelloWorld的配置文件settings.py。

找到ALLOWED_HOSTS这一行,进行修改

ALLOWED_HOSTS = []        # 修改前

ALLOWED_HOSTS = ['*']     # 修改后

 

然后服务终于能正常访问了!!!

创建第1个Django项目