Django是一个非常强大的基于Python的Web框架,当然一般web程序都需要使用数据库,Mysql作为开源,稳定的数据库,收到了非常大的欢迎,下面介绍Django如何使用和操作Mysql数据库
1、创建基于Django的app
首先我们需要创建一个app,用于定义数据库
# 创建一个app app为的app名字,可以随意定义
python manage.py startapp app
这时会在你的工作空间下生成一个app的目录,app目录下含有下面的文件:
在Django中settings.py配置文件中注册app名:
2、配置mysql数据库
如果你的系统没有安装Mysql,可以参考我的博客:CentOS 8 / RHEL 8 安装mysql5.7和8.0,然后以root账号登录到mysql数据库>以root账号登录到mysql数据库
# 按提示输入root密码
mysql -uroot -p
在mysql交互界面中创建一个用户以及密码:
# username为创建的用户名 localhost为你的本地主机,
# 如果你想任意ip能访问,可以更换为 % ,password为你的设定的密码
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
创建一个数据库并且赋予用户权限
# test_db为数据库名
CREATE DATABASE test_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 开通权限 test为你的用户名,localhost为主机 test@123为用户密码
grant all privileges on test_db.* to test@localhost identified by 'test@123';
3、配置Django
在settings.py文件中,更改配置如下:
# test_db为数据库名 test为用户名
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test_db',
'USER': 'test',
'PASSWORD': 'test@123',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
4、创建模型
在app目录下的modes.py中添加模型,下面是一个例子:
from django.db import models
# Create your models here.
class User(models.Model):
name = models.CharField(max_length=10, blank=True, null=True, verbose_name="姓名")
email = models.EmailField(max_length=15, verbose_name="邮箱")
其中User为数据库中的表名,name和email为表中的字段,接下来我们需要在数据库中注册:
# 生成配置文件 app为我们的app名 也可以不跟app名,这样会默认注册所有的app
python manage.py makemigrations app
# 在数据库中注册
python manage.py migrate app
5、测试
进入mysql交互命令。依次输入下面的查询命令:
use test_db;
show tables;
desc app_user;
效果:
0