python Django如何实现增删改查
发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,这篇文章主要介绍python Django如何实现增删改查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.先创建个app子级python .\manage.py starta
千家信息网最后更新 2024年12月02日python Django如何实现增删改查
这篇文章主要介绍python Django如何实现增删改查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
1.先创建个app子级
python .\manage.py startapp app01
然后创建数据模型
app01下的
modules.py文件
from django.db import models# Create your models here.class UserInfo(models.Model): name=models.CharField(max_length=32) password=models.CharField(max_length=12) age=models.IntegerField() tel=models.IntegerField(max_length=11)
配置数据库
'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': '数据库名', 'USER': '数据库用户名', 'PASSWORD': '密码', 'HOST': '127.0.0.1', 'PORT': '3306', }
2.迁移数据库
python manage.py makemigrations 和 python manage.py migrate
3.写路由url
from django.contrib import adminfrom django.urls import path,includefrom app01 import viewsurlpatterns = [ # path('admin/', admin.site.urls), # path('index/',views.index), # path('user/list/', views.user_list), # path('login/', views.ApiLogin.as_view()), # path('del/', views.ApiDel.as_view()), path('add/', views.addUser.as_view()), path('user/', views.UserList.as_view()), path('updateuser/', views.upDateUser.as_view()), path('del/', views.deluser.as_view()),]
4.view页面编写增删改查
from django.shortcuts import render,HttpResponsefrom rest_framework.views import APIView# Create your views here.from django import viewsfrom app01.models import UserInfofrom rest_framework.response import Responsefrom app01.ser import APIViewUserInfoclass addUser(APIView): def post(self,request): obj=APIViewUserInfo(data=request.data) if obj.is_valid(): obj.save() return Response({"data":obj.data, "status" : 201,"message":"添加用户成功"}) return Response(data=obj.errors,status=400)class UserList(APIView): def get(self,request): obj=UserInfo.objects.all() ser=APIViewUserInfo(instance=obj,many=True) return Response(ser.data)class upDateUser(APIView): def post(self,request): print(request.data.get('id')) i=request.data.get('id') try: user=UserInfo.objects.get(id=i) except Exception as e: return Response(data='不存在', status=201) # 创建序列化对象,并将要反序列化的数据传递给data构造参数,进而进行验证 user.password=request.data.get('password') if request.data.get('name')!='': print(request.data.get('name')=='') user.name=request.data.get('name') user.save() return Response(status=400)class deluser(APIView): def post(self,request): id=request.data.get('id') UserInfo.objects.filter(id=id).delete() return Response({"msg":'删除成功',"state":"true"})# def index(request):# return HttpResponse("欢迎使用")### def user_list(request):# return render(request,"user_list.html")## class ApiLogin(APIView):# def get(self,request):# return HttpResponse('get')# def post(self,request):# UserInfo.objects.create(name='张三',password='123456',age=15,tel='1234567891')# obj=UserInfo.objects.all()# print(obj)# return HttpResponse('post')## class ApiDel(APIView):# def post(self,request):# UserInfo.objects.filter(id=4).delete()# return HttpResponse('删除成功')
5.序列化 反序列化
# -*- coding: utf-8 -*-from rest_framework import serializersfrom app01.models import UserInfoclass APIViewUserInfo(serializers.Serializer): """图书数据序列化器""" id = serializers.IntegerField(label='ID', read_only=True) # 主键序列化 # 第一:普通字段序列化 name = serializers.CharField(label='名称', max_length=20) password = serializers.CharField(label='密码') age = serializers.IntegerField(label='年龄', required=False) tel = serializers.IntegerField(label='电话', required=False) # # 第二:一对多字段序列化 # heroinfo_set = serializers.PrimaryKeyRelatedField(read_only=True, many=True) # # 第三:自定义显示(显示多对多) # xxx = serializers.SerializerMethodField(read_only=True) class Meta: model = UserInfo # 自定义显示 多对多 字段 # 定义创建语法:ser.save()执行,就会立刻调用create方法用来创建数据 def create(self, validated_data): '''validated_data: 表单或者vue请求携带的json:{"username":"zhangsan","password":"123456"}''' return self.Meta.model.objects.create(**validated_data)
以上是"python Django如何实现增删改查"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
序列
数据
数据库
成功
字段
内容
密码
用户
篇文章
普通
价值
兴趣
参数
名称
图书
对象
小伙
小伙伴
年龄
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
沈阳软件开发好学
美发师求职软件开发
3D解剖软件开发
网络安全法是第一部网络
手机号码导入数据库乱码
星悦麻将 软件开发手
戴尔刀片服务器一般功率多大
特殊软件开发设计规范
access 桌面数据库
阿里云的数据库地址
广西十大网络安全公司
uncodedal数据库
湖北正规网络技术哪家好
软件开发工具适用性分析
对于网络安全公益诉讼的理解
凤翼互联网科技
2019北京网络安全大会展商
hp服务器主机怎么连接显示器
网络安全主题征文获奖
通达信服务器
hive数据库查询表结构
崩坏3qq登录服务器怎么样
网络安全对国家的重要意义
csgo排位去哪个服务器最好
孩子网络安全的一封信300字
拼接屏服务器
上海网络软件开发公司
PIL数据库
北京指南针软件开发公司
网络安全防护体系建设要求