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
Posted in 系统

Leave a Comment:

电子邮件地址不会被公开。