0


在 Python Django 框架中操作 MySQL 数据库

本文目录

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。---- 《菜鸟教程》

如何在

Django

中连接并使用现有的

MySQL

数据库 ?

如何在

Django

中对

MySQL

数据库的数据进行增删改查 ?

本文基于 Windows 系统下的 Python 环境进行演示,编辑器使用的是 PyCharm 社区版。

一、查看是否安装 PyMySQL 驱动

  1. 方法一:使用命令行窗口输入 pip list 命令查看。命令行查看
  2. 方法二:使用 PyCharm 编辑器查看。依次点击【File】-【Settings】,打开设置界面。找到【Project:此处显示你的项目目录名称】,展开后找到【Python Interpreter】。在这里插入图片描述

二、安装 PyMySQL 驱动(若没有此驱动)

  1. 方法一:使用命令行窗口输入 pip install pymysql 命令安装。在这里插入图片描述
  2. 方法二:使用 PyCharm 编辑器安装。这里和查看时的方法二相同,打开界面。在这里插入图片描述 点击 “+” 打开安装界面,搜索驱动并安装即可。在这里插入图片描述

三、配置数据库连接

Django

项目中找到配置文件:

settings.py

,它通常位于与项目根目录同名的目录下。

找到

DATABASES

配置项,修改其中的数据库配置参数。

DATABASES ={'default':{# 注释掉原来的 sqlite3 数据库配置# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': BASE_DIR / 'db.sqlite3',# 新增 MySQL 数据库的配置'ENGINE':'django.db.backends.mysql',# 数据库引擎'NAME':'py_office_system',# 数据库名称'HOST':'127.0.0.1',# 数据库地址,本机 ip 地址 127.0.0.1'PORT':3306,# 端口'USER':'root',# 数据库用户名'PASSWORD':'root',# 数据库密码}}

在与

settings.py

同级目录下的

__init__.py

中加入如下配置:

import pymysql
pymysql.install_as_MySQLdb()

意思为使用

PyMySQL

模块连接

MySQL

数据库。

四、为数据表创建模型

模型,也就是 ORM 。

ORM(Object Realtional Mapping)即对象关系映射,允许你使用类和对象对数据库进行操作。

在数据库中,我们通常使用 SQL 语句对数据进行操作,但在程序开发中,数据库中的表和字段和程序中的实体类之间是没有关联的,ORM 就是建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表的目的。
在这里插入图片描述

(图片来自菜鸟教程 侵删)

Django

中可以使用命令为数据表创建对应的 ORM 模型,可以一次性将所有的表都生成出对应的模型,也可以只单独生成其中一张数据表的模型。

  1. 生成所有表python manage.py inspectdb > models.py此命令会将所有的数据表都生成对应的 ORM 模型代码,并保存到 models.py 文件中。
  2. 生成单张表python manage.py inspectdb 数据表名此命令会将指定的数据表生成出对应的 ORM 模型代码,并在命令行工具中输出。在这里插入图片描述 这时将生成的代码复制到 models.py 文件中即可使用。

五、数据操作

有了

models.py

文件并且生成了数据表的模型,就可以在视图函数文件中进行数据的操作了。

以下展示了管理员角色表的模型代码:

from django.db import models

# Create your models here.# 管理员角色表模型classAdminRole(models.Model):
    role_id = models.AutoField(primary_key=True)
    role_name = models.CharField(max_length=20)
    role_desc = models.CharField(max_length=50)
    create_time = models.PositiveIntegerField()classMeta:# 这里要改成 True 才可以操作数据库数据
        managed =True
        db_table ='admin_role'

首先在视图函数文件中引入模型文件:

from myadmin.models import AdminRole
  1. 数据的查询
AdminRole.objects.all()
  1. 数据的添加
AdminRole.objects.create(role_name ='角色名称', role_desc ='角色描述', create_time ='创建时间')
  1. 数据的修改
Admin.objects.filter(role_id =1).update(role_name ='新角色名称', role_desc ='新角色描述')
  1. 数据的删除
Admin.objects.filter(role_id =1).delete()

完整演示代码:

from myadmin.models import AdminRole

# 查询数据(所有)
AdminRole.objects.all()# 添加数据
AdminRole.objects.create(role_name ='角色名称', role_desc ='角色描述', create_time ='创建时间')# 修改数据
Admin.objects.filter(role_id =1).update(role_name ='新角色名称', role_desc ='新角色描述')# 删除数据
Admin.objects.filter(role_id =1).delete()

这里仅演示了基本的数据操作,重点是如何连接 MySQL 数据库和创建 ORM 模型,至于更多数据的操作方法,可以自己进行学习。

六、其它

  1. 菜鸟教程:Django 教程 >>>

  2. 菜鸟教程:Django ORM - 单表实例 >>>

  3. Django 4.0 官方文档 >>>

  4. PyCharm 编辑器下载 >>>

标签: Python Django ORM

本文转载自: https://blog.csdn.net/ZhangJiWei_2019/article/details/124509900
版权归原作者 相逢不晚何必匆匆 所有, 如有侵权,请联系我们删除。

“在 Python Django 框架中操作 MySQL 数据库”的评论:

还没有评论