- 一、查看是否安装 PyMySQL 驱动
- 二、安装 PyMySQL 驱动(若没有此驱动)
- 三、配置数据库连接
- 四、为数据表创建模型
- 五、数据 *** 作
- 六、其它
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django 是一个开放源代码的 Web 应用框架,由 Python 写成。---- 《菜鸟教程》
如何在 Django
中连接并使用现有的 MySQL
数据库 ?
如何在 Django
中对 MySQL
数据库的数据进行增删改查 ?
本文基于 Windows 系统下的 Python 环境进行演示,编辑器使用的是 PyCharm 社区版。
一、查看是否安装 PyMySQL 驱动-
方法一:使用命令行窗口输入
pip list
命令查看。
-
方法二:使用 PyCharm 编辑器查看。
依次点击【File】-【Settings】,打开设置界面。
找到【Project:
此处显示你的项目目录名称
】,展开后找到【Python Interpreter】。
-
方法一:使用命令行窗口输入
pip install pymysql
命令安装。
-
方法二:使用 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 模型,可以一次性将所有的表都生成出对应的模型,也可以只单独生成其中一张数据表的模型。
-
生成所有表
python manage.py inspectdb > models.py
此命令会将所有的数据表都生成对应的 ORM 模型代码,并保存到
models.py
文件中。 -
生成单张表
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
- 数据的查询
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()
完整演示代码:
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 编辑器下载 >>>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)