上一章中我们介绍了什么是Django,还介绍了Django的优点。今天,我们来说一下Django的安装并且要创建一个Django项目。准备好了吗?我要开车了哈!
Django的版本众多,python的版本也不少。可以相互搭配使用的有下面这些。
Django的版本和支持的Python版本
Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.
Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X
Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意: Python 2.6 不支持了)
Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5. (长期支持版本 LTS)
Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了
Django 1.10.x 支持 Python 2.7, 3.4 和 3.5.
Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6, 17 年 4 月 4 号 已经发布(长期支持版本 LTS)
Django 2.0.
Django安装命令:指定版本安装:
pip install django==1.8.2
pip install Django==2.0.3
Django安装命令安装最新版本:
pip install django
检查是否安装成功
进入python 环境,运行如下代码:
import django
django.get_version()
安装mysql-python
python 2.7 : pip install mysql-python
python 3.x : pip install mysql
创建Django项目
命令:django-admin startproject test1
创建应用
命令:python manage.py startapp booktest
这样我们就创建了一个Django的test1项目。在这个项目下创建了一个应用booktest
数据库的配置
Django 默认使用 SQLite 数据库
Mysql 配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
说明:
NAME: 指定的数据库名,如果是 sqlite 的话,就需要填数据库文件的绝对位置。
USER: 数据库登录的用户名, mysql 一般都是 root。
PASSWORD:登录数据库的密码,必须是 USER 用户所对应的密码。
HOST: 由于一般的数据库都是 C/S 结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填 127.0.0.1
PORT:数据库服务器端口, mysql 默认为 3306
HOST 和 PORT 都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的。
定义模型类:
有一个数据表,就有一个模型类与之对应
打开 models.py 文件,定义模型类
引入包 from django.db import models
模型类继承自 models.Model 类
说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长
当输出对象时,会调用对象的 str 方法
django 在同步 models 时候会自动为每个表创建 1 个 id 字段==pk 字段。
from django.db import models
class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateTimeField()
def __str__(self):
return "%d" % self.pk
class HeroInfo(models.Model):
hname = models.CharField(max_length=20)
hgender = models.BooleanField()
hcontent = models.CharField(max_length=100)
hBook = models.ForeignKey('BookInfo',on_delete=models.CASCADE)
def __str__(self):
return "%d" % self.pk
生成数据表
激活模型
编辑 settings.py 文件,将 booktest 应用加入到 installed_apps 中
新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到 app 中的模板
文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)
生成迁移文件
python manage.py makemigrations
执行迁移
python manage.py migrate
运行项目
python manage.py runserver
结束运行,我们来创建一个管理员
python manage.py createsuperuser
启动服务器,通过“127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成
登录
进入管理站点,默认可以对 groups、 users 进行管理