下面是一份完整攻略。
环境搭建
首先我们需要安装 Django 和 MySQL 驱动。安装 Django 可以使用 pip 包管理器,可以在终端中运行以下命令实现:
pip install Django
安装 MySQL 驱动则需要先安装 mysqlclient 或者 PyMySQL。推荐使用mysqlclient,这里以mysqlclient为例,可以在终端中运行以下命令安装:
pip install mysqlclient
除此之外,还需要在 MySQL 数据库中创建一个数据库,用于存储数据。可以在 MySQL 数据库终端中,使用以下命令来完成:
create database database_name;
Django 项目设置
- 创建 Django 项目
首先我们需要创建 Django 项目。可以在终端中运行以下命令来完成:
django-admin startproject project_name
- 配置 MySQL 数据库
在配置文件 settings.py 中,我们需要进行以下配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database_name',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
在这里,我们需要将上面创建的数据库的名称填写到 NAME 字段中。另外,需要填写连接 MySQL 数据库的用户名和密码,以及 MySQL 数据库的主机地址和端口号。
- 创建 Django 应用
使用如下命令来创建 Django 应用:
python manage.py startapp app_name
在这里,我们需要将 app_name 修改为你所希望给应用取的名称。
编写 Django 程序
在 app 目录的 views.py 中,我们可以编写实现增删改查功能的代码。以下是两个示例:
查询功能
from django.http import JsonResponse
from app_name.models import ModelName
def query(request):
results = []
try:
# 查询ModelName表中的所有数据
data = ModelName.objects.all()
# 遍历所有数据
for item in data:
# 将数据格式化后存入 results 列表
results.append({
'id': item.id,
'name': item.name,
'age': item.age,
})
# 返回查询结果
return JsonResponse({'code': 'success', 'msg': '', 'data': results})
except Exception as e:
# 返回异常信息
return JsonResponse({'code': 'error', 'msg': str(e)})
在这个函数中,我们使用了 Django 自带的 JsonResponse 类,将查询结果返回给客户端。其中,ModelName 表示需要查询的表名,id、name 和 age 分别表示表中对应的数据项名称。
添加功能
from django.http import JsonResponse
from app_name.models import ModelName
def add(request):
try:
# 获取客户端传递的数据
name = request.POST.get('name')
age = request.POST.get('age')
# 将数据插入到 ModelName 表中
item = ModelName(name=name, age=age)
item.save()
# 返回成功信息
return JsonResponse({'code': 'success', 'msg': '添加成功'})
except Exception as e:
# 返回异常信息
return JsonResponse({'code': 'error', 'msg': str(e)})
在这个函数中,我们使用了 Django 提供的 ORM 框架,通过创建 ModelName 对象,并调用 save 方法,将数据插入到数据库中。
总结
到这里,我们已经完成了一个简单的 Django 应用,实现了连接 MySQL 数据库,并实现了增删改查功能。当然,实际的开发过程中,还需要根据具体的需求进行功能的完善和优化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Django连接MySQL数据库做增删改查 - Python技术站