python Django连接MySQL数据库做增删改查

下面是一份完整攻略。

环境搭建

首先我们需要安装 Django 和 MySQL 驱动。安装 Django 可以使用 pip 包管理器,可以在终端中运行以下命令实现:

pip install Django

安装 MySQL 驱动则需要先安装 mysqlclient 或者 PyMySQL。推荐使用mysqlclient,这里以mysqlclient为例,可以在终端中运行以下命令安装:

pip install mysqlclient

除此之外,还需要在 MySQL 数据库中创建一个数据库,用于存储数据。可以在 MySQL 数据库终端中,使用以下命令来完成:

create database database_name;

Django 项目设置

  1. 创建 Django 项目

首先我们需要创建 Django 项目。可以在终端中运行以下命令来完成:

django-admin startproject project_name
  1. 配置 MySQL 数据库

在配置文件 settings.py 中,我们需要进行以下配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'database_name',
        'USER': 'username',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

在这里,我们需要将上面创建的数据库的名称填写到 NAME 字段中。另外,需要填写连接 MySQL 数据库的用户名和密码,以及 MySQL 数据库的主机地址和端口号。

  1. 创建 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技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django 自定义模型管理器(Manager)及方法

    转载自:https://www.cnblogs.com/sui776265233/p/11571418.html   1.自定义管理器(Manager) 在语句Book.objects.all()中,objects是一个特殊的属性,通过它来查询数据库,它就是模型的一个Manager.每个Django模型至少有一个manager,你可以创建自定义manager…

    Django 2023年4月11日
    00
  • Django项目如何正确配置日志(logging)

    配置日志(logging)是Django项目创建的过程中非常重要的一步。它可以帮助我们更好地监控应用的行为和性能,从而更快地发现问题并解决它们。下面是一个步骤: 第一步:安装依赖 在创建Django项目之前,请确保你已经安装了Python logging模块。你可以使用pip命令安装依赖: pip install logging 第二步:创建日志记录器 在D…

    Django 2023年5月16日
    00
  • django搭建项目配置环境和创建表过程详解

    下面是关于“django搭建项目配置环境和创建表过程详解”的完整攻略,其中会包含两个示例: 搭建环境 首先,您需要确保您的系统上已经安装了Python。如果没有,请从官方网站下载并安装对应版本的Python。 接下来,您需要安装Django。可以使用以下命令来安装Django: pip install django 安装完成后,您需要创建一个新的Django…

    Django 2023年5月16日
    00
  • Django进阶

    一:用户信息扩展 1.可以采用用户关联的方式进行扩展 2.可以采用继承的方式进行扩展 都需要在admin中进行设定,显示需要显示的内容 Django之HttpRequest和HttpResponse 二:自定义认证方式只不过是自己在view当中写login函数罢了user.check_password()user.has_perm三:权限的设计使用2.1 P…

    2023年4月12日
    00
  • 在Python的Django框架中更新数据库数据的方法

    在Python的Django框架中,更新数据库数据的主要方法有两种: 1. 使用查询集更新数据 我们可以使用查询集(QuerySet)操作数据库,对数据进行修改,然后使用 save() 方法保存到数据库中。 例如,如果我们想将一个 User 对象的 username 属性修改为 “new_username”,可以按照以下的步骤进行: 先根据 id 或者其他条…

    Django 2023年5月15日
    00
  • django.db.utils.InternalError: (1054, “Unknown column ‘cid’ in ‘field list'”)

    报错信息:意思是 cid 字段在数据库中不存在 错误原因: 1):models里面设计的表的 字段名 与数据库中的字段名不一致 2):数据库中没有该字段 检查后发现,我的models设计的 cid 而数据库里面是 cid_id 解决方法: 1): 再次执行迁移生成表命令 #python manage.py makemigrations #python man…

    2023年4月9日
    00
  • Python – Django – ORM Django 终端打印 SQL 语句

    在 settings.py 中添加以下内容: LOGGING = { ‘version’: 1, ‘disable_existing_loggers’: False, ‘handlers’: { ‘console’:{ ‘level’:’DEBUG’, ‘class’:’logging.StreamHandler’, }, }, ‘loggers’: { ‘…

    Django 2023年4月10日
    00
  • Django 中related_name,”%(app_label)s_%(class)s_related”

    先看个model   1 from django.db import models 2 3 # Create your models here. 4 5 6 class Parent(models.Model): 7 name = models.CharField(max_length=64, verbose_name=u’姓名’) 8 id_num = m…

    Django 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部