美文网首页
开源服务端框架Django四:配置Mysql数据库2

开源服务端框架Django四:配置Mysql数据库2

作者: IT前沿技术分享 | 来源:发表于2020-04-14 21:27 被阅读0次

——————————————————————
Django系列笔记:
一、开发环境搭建
二:添加第一个应用
三:配置Mysql数据库1
四:配置Mysql数据库2
五:模型models
……
——————————————————————

一、Django中的数据库简介

Django使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无需安装额外东西来使用它。

当你开始一个真正的项目时,你可能更倾向使用一个更具扩展性的数据库,例如 PostgreSQL,避免中途切换数据库这个令人头疼的问题。

如果你想使用其他数据库,你需要安装合适的 database bindings ,然后改变设置文件中 DATABASES 'default' 项目中的一些键值,下文会介绍。

二、Django中配置Mysql

如果你不使用 SQLite,则必须添加一些额外设置,比如 USERPASSWORDHOST 等等。想了解更多数据库设置方面的内容,请看文档:DATABASES

打开 mysite/settings.py,找到DATABASES ,做如下改动

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }

    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bis',
        'USER':'root',
        'PASSWORD':'mysql1314',
        'HOST':'127.0.0.1',
        'PORT':3306,
    }
}

下面解释一下,里面参数的意思:

ENGINE : 指定数据库驱动,不同的数据库这个字段不同,下面是常见的集中数据库的ENGINE的写法:

django.db.backends.postgresql # PostgreSQL
django.db.backends.mysql # mysql
django.db.backends.sqlite3 # sqlite
django.db.backends.oracle # oracle

NAME: 指定的数据库名,如果是sqlite的话,就需要填数据库文件的绝对位置,上文填的是mysql的库“bis”,下文会介绍如何创建。
USER: 数据库登录的用户名,mysql一般都是root
PASSWORD:登录数据库的密码,必须是USER用户所对应的密码
HOST: 由于一般的数据库都是C/S结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1
PORT:数据库服务器端口,mysql默认为3306
HOSTPORT 都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的

三、在Mysql数据库中添加Schema

前面已经安装好数据库,也在Django中配置了Mysql,其中涉及到,这里添加的app的数据库bis

由于安全方面的原因,一般数据库不会把创建Schema的权限分配给应用的,所以,我们还是要先创建需要Schema,可以用SQL语句创建,

CREATE SCHEMA `bis` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ;

也可以用小海豚可视化进行


1.png

四、创建数据

1. 安装依赖

在创建数据前,我们要先安装你项目的一些依赖,这些依赖都添加文本requirements.txt下,包括mysql 的 DB API驱动程序 mysqlclient

simplejson
asgiref==3.2.3
certifi==2019.11.28
chardet==3.0.4
Django==3.0.4
docopt==0.6.2
idna==2.9
mysqlclient==1.4.6
Pillow==7.0.0
pipreqs==0.4.10
PyMySQL==0.9.3
pytz==2019.3
requests==2.23.0
sqlparse==0.3.1
urllib3==1.25.8
yarg==0.1.9
django-minio-backend==1.1.2
django-simpleui==3.9.1
pandas==1.0.1

然后,用pip install 进行全部安装。

pip install -r requirements.txt

2. 创建数据:

执行以下命令,进行数据创建。

$ python manage.py makemigrations
$ python manage.py migrate
  • 解析
    makemigrations 命令查找所有可用的models,为任意一个在数据库中不存在对应数据表的model创建 migrations 脚本文件。
    migrate 命令则运行这些 migrations 自动创建数据库表。还提供可选的 更丰富的控制模式
  • 注意
    Django为了方便大多数项目,默认激活了一些应用,但并不是每个人都需要它们。如果你不需要某个或某些应用,你可以在运行 migrate 前毫无顾虑地从 INSTALLED_APPS 里注释或者删除掉它们。 migrate 命令只会为在 INSTALLED_APPS 里声明了的应用进行数据库迁移。

五、结语

一顿操作,猛如虎,如无意外,我们的项目就用上了Mysql。
后面,我就可以只需要添加model就可以完成数据的创建与插入数据库了,真是便利极了。

相关文章

网友评论

      本文标题:开源服务端框架Django四:配置Mysql数据库2

      本文链接:https://www.haomeiwen.com/subject/gdjomhtx.html