Django连接数据库MySQL

2019-08-12  本文已影响0人  _str_

Django连接MySQL数据库

所需环境 python3.4以上 +Diango 2.0 +MySQL5.7

Django项目默认使用mysqldb模块进行和mysql数据库之间的交互操作,但是mysqldb模块对于python3.4以上的版本支持还不够完善,所以我们要使用替代方案
通过pymysql模块完成和数据库之间的交互过程
Django连接mysql数据库的操作,是通过 根模块 的配置实现的,在项目根模块的配置文件settings.py中,我们可以查询到如下默认配置:


database.png

DATABASES配置:用于进行数据库连接信息的配置

ENGINE:用于特定的数据库引擎的配置,一般选项如下
 django.db.backends.sqlite3
 django.db.backends.postgresql
 django.db.backends.mysql
 django.db.backends.oracle

NAME:要连接的数据库名称的配置
USER:配置连接数据库的用户账号
PASSWORD:配置连接数据库的登录密码
HOST:配置数据库所在的主机IP地址
PORT:配置连接数据库的端口号

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'qamaster',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
 'mysql2': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mysql2',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

类型对应关系

image.png

特殊选项指定


image.png

多表操作


image.png

示例 简单创建用户类型和文件类型

image.png

数据库同步操作

创建好我们需要的模型类之后,需要将创建好的类型添加到数据库中并同时建立关联关系

根据模型类自动生成对应数据库引擎的sql语句
在settings.py中,连接数据库信息中配置了数据库引擎,其实就是已经告诉Django我们使用的是哪个数据库了,Django会根据指定的数据库自动生成sql语句

在这之前需要在MySQL中建立一个空数据库 库名和setting设置连接数据库的时候库名一样 不让识别不到无法映射进去数据

需要用到两条命令

迁移命令

python manage.py makemigrations     

建立的空库 没有一张表

image.png

迁移成功

image.png

映射命令

manage.py migrate

映射成功

image.png

数据库中已经有表

image.png

项目中有了一个0001_initial.py

image.png

运行项目

manage.py runserver
image.png

django拥有自己的后台管理平台

但是需要创建一个超级用户才能进入


image.png

创建超级用户的命令

python manage.py createsuperuser

登录进入


image.png

可以看到用户输入的所有信息

image.png
上一篇 下一篇

猜你喜欢

热点阅读