3.3Django的模型的创建、数据模型的操作

上一章中我们介绍了什么是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()
安装成功.png

安装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 中


3.3Django的模型的创建、数据模型的操作_第1张图片
激活模型.png

新建的 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 进行管理

你可能感兴趣的:(3.3Django的模型的创建、数据模型的操作)