——————————————————————
Django系列笔记:
一、开发环境搭建
二:添加第一个应用
三:配置Mysql数据库1
四:配置Mysql数据库2
五:模型models
……
——————————————————————
一、Django中的数据库简介
Django使用 SQLite 作为默认数据库。如果你不熟悉数据库,或者只是想尝试下 Django,这是最简单的选择。Python 内置 SQLite,所以你无需安装额外东西来使用它。
当你开始一个真正的项目时,你可能更倾向使用一个更具扩展性的数据库,例如 PostgreSQL,避免中途切换数据库这个令人头疼的问题。
如果你想使用其他数据库,你需要安装合适的 database bindings ,然后改变设置文件中 DATABASES
'default'
项目中的一些键值,下文会介绍。
二、Django中配置Mysql
如果你不使用 SQLite,则必须添加一些额外设置,比如 USER
、 PASSWORD
、 HOST
等等。想了解更多数据库设置方面的内容,请看文档: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
HOST 和 PORT 都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的
三、在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就可以完成数据的创建与插入数据库了,真是便利极了。
网友评论