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

在 Python Django 框架中 *** 作 MySQL 数据库,第1张

本文目录
        • 一、查看是否安装 PyMySQL 驱动
        • 二、安装 PyMySQL 驱动(若没有此驱动)
        • 三、配置数据库连接
        • 四、为数据表创建模型
        • 五、数据 *** 作
        • 六、其它

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.

# 管理员角色表模型
class AdminRole(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()
    
    class Meta:
    	# 这里要改成 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 编辑器下载 >>>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/868148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存