Python 官方文档:入门教程 => 点击学习
1.先创建个app子级 python .\manage.py startapp app01 然后创建数据模型 app01下的modules.py文件 from Django.db
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',
}
from django.contrib import admin
from django.urls import path,include
from app01 import views
urlpatterns = [
# 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()),
]
from django.shortcuts import render,HttpResponse
from rest_framework.views import APIView
# Create your views here.
from django import views
from app01.models import UserInfo
from rest_framework.response import Response
from app01.ser import APIViewUserInfo
class 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('删除成功')
# -*- coding: utf-8 -*-
from rest_framework import serializers
from app01.models import UserInfo
class 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增删改查 快速体验的文章就介绍到这了,更多相关python Django增删改查内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: python Django实现增删改查实战代码
本文链接: https://www.lsjlt.com/news/139747.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0