django关于Mysql增删改查操作以及浏览器数据返回

该博客介绍了如何在Django中使用serializers模块将查询结果转换为JSON格式,包括查询单条和所有数据,以及如何通过HttpResponse和JsonResponse返回数据。此外,还展示了如何进行数据库的增删改查操作,包括添加、更新、删除和查询记录。
摘要由CSDN通过智能技术生成

1、serializers:

from django.core import serializers

def squitData(request):
    #查询一条
    #c1=Catinfo.objects.get(id=1)
    #查询所有数据
    c2=Catinfo.objects.all()
    json_data = serializers.serialize('json', c2)  # 将查询结果进行json序列化
    return HttpResponse(json_data, content_type="application/json")  # 返回json数据

如果要返回给前端:

import json
json.loads(serializers.serialize('json', articles, ensure_ascii=False))

例如:
def squitData(request):
    #查询一条
    #c1=Catinfo.objects.get(id=1)
    #查询所有数据
    c2=Catinfo.objects.all()
    x={"x":json.loads(serializers.serialize('json', articles, ensure_ascii=False))}
    return JsonResponse(x, content_type="application/json")  # 返回json数据

2、JSonRepont

from django.http import HttpResponse,JsonResponse
def squitData1(requset):
    from django.forms.models import model_to_dict
    # 查询一条
    # c1=Catinfo.objects.get(id=1)
    # 查询所有数据
    c2 = Catinfo.objects.all()
    d = []
    for i in c2:
        d.append(model_to_dict(i))           # <-------针对一个对象()
    return JsonResponse(d, safe=False) # 非字典要设置成false

3、json

def squitData1(requset):
    from django.forms.models import model_to_dict
    # 查询一条
    # c1=Catinfo.objects.get(id=1)
    # 查询所有数据
    c2 = Catinfo.objects.all()
    # 2. 将数据序列化成json格式   date类型的数据不能直接系列化 ensure_ascii=False 修改乱码的现象
    ret = json.dumps(list(c2), ensure_ascii=False)
    # 3. 返回
    return HttpResponse(ret)

 

python操作数据库的增删改查:

mysql的配置信息:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '***',     # 数据库名
        'USER': 'root',     # 用户名
        'PASSWORD': '_huitao',  # 密码
        'HOST': '192.168.208.131',
        'PORT': '3306',
    }
}

model的信息:

from django.db import models

Class User(models.Model):

    name = models.CharField(max_length=10)

 增删改查:

#导入模块
from test01.models import Catinfo

添加和更新:

def insert():

    c=User()
    c.name="huitao"
    #更新数据
    c.save(id=1)
    c.save()
删除数据库信息:
def delete():
    #删除一条信息
    c=User.objects.get(id=1)
    #删除全部信息(小心使用)
    #c=User.objects.get()
    c.delete()


查询数据库信息:

def query():
    #查询所有数据
    c=User.objects.all()
    #查询下标是1的数据
    c=User.object.get(id=1)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值