Django数据库操作

背景

django内置的database如下:
要注意的是无论选择使用哪个数据库服务器,都必须下载和安装对应的数据库适配器

数据库引擎设置

设置数据库适配器
postgresqlPostgreSQLpsycopg 版本 1.x
postgresql_psycopg2PostgreSQLpsycopg 版本 2.x
mysqlMySQLMySQLdb 
sqlite3SQLitePython 2.5+ 内建
oracleOraclecx_Oracle 

1. 安装

我们选择mysql作为数据库服务器
因为MySQLdb并不支持Python3.5,所以需要安装pymysql,作为django操作mysql的适配器。
当然会有相应的小代价,在配置中会提到。

pip install pymysql

2. 配置

django中默认的数据库为sqlite3,即新建项目后配置文件(settings.py)中关于数据库的初始配置如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
2.1 创建数据库

首先,登录mysql,创建数据库db_test

create database db_testdefault charset=utf8;
2.2 给数据库创建用户

然后,将数据库db_test的所有权限分配给用户test,密码为123456

grant all privileges on db_test.* to 'test'@'localhost' identified by '123456';
2.3 配置

最后在django中将配置改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mall',
        'USER': 'rinka',
        'PASSWORD': 'rinka0414',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

其中:

DATABASE_ENGINE 即为“背景”中所提到的那些数据库服务器

DATABASE_NAME 将数据库名称告知 django

DATABASE_USER 告诉 django 用哪个用户连接数据库

DATABASE_PASSWORD 告诉django连接用户的密码

DATABASE_HOST 告诉 django 连接哪一台主机的数据库服务器

DATABASE_PORT 告诉 django 连接数据库时使用哪个端口

2.4 小代价

最最后一步,记得在项目同名文件夹下的__init.py__中,加入:

import pymysql
pymysql.install_as_MySQLdb()

否则会报错:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

3. 运行

python manage.py runserver

能成功运行项目不报错,就说明数据库成功连接好啦

总结

django中的数据库配置:

  1. 选择一个数据库服务器
  2. 下载安装相应的适配器
  3. 创建数据库
  4. 在django的配置文件中配置数据库
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值