python Django rest-framework 创建序列化工程步骤
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python Django rest-framework 创建序列化工程步骤,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4486字,纯文字阅读大概需要7分钟。
内容图文
![python Django rest-framework 创建序列化工程步骤](/upload/InfoBanner/zyjiaocheng/848/f8a2d4bcc9174a7ea1e6c02790c6388f.jpg)
11创建项目 2创建应用 3stting添加应用(apps)-添加制定数据库-修改显示汉字(zh-hans)-上海时区(Asia/Shanghai) 4主路由添加子路由 5应用里创建子路由 6创建数据表结构-model 7创建serializer序列化 8编写views视图 -------------------- INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'demo_app1.apps.DemoApp1Config', 'rest_framework', ] --------- DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'my_1', 'USER':'root', 'PASSWORD':'123456', 'HOST':'127.0.0.1', 'PORT':3306, } } LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = True --------- from django.contrib import admin from django.urls import path from django.conf.urls import url,include urlpatterns = [ path('admin/', admin.site.urls), url(r'^',include('demo_app1.urls')), ] -------------------------------------- from django.db import models # Create your models here. #创建user_name数据表 class user_name(models.Model): nick_name = models.CharField(max_length=10,verbose_name='昵称') gender = models.BooleanField(default=0,verbose_name='性别') image = models.ImageField(upload_to='media',verbose_name='图片') add_time = models.DateField(auto_now_add=True,verbose_name='时间') phone = models.CharField(max_length=11,verbose_name='手机') class Meta: #制定数据表 db_table = 'user' #后端显示中文 verbose_name = '用户' #制定显示中文 verbose_name_plural = verbose_name def __str__(self): #返回显示第一个字段 return self.nick_name --------------------------- from rest_framework import serializers #导入rest-framework序列化模块seralizer from .models import user_name #导入外部数据表 class UserSerializer(serializers.Serializer): nick_name = serializers.CharField(max_length=20,required=True) gender = serializers.BooleanField(default=0,required=False) image = serializers.ImageField(required=False) add_time = serializers.DateField(required=False) phone = serializers.CharField(max_length=11,required=False) def create(self, validated_data): #在乎句酷修改前端返回来的数据 return user_name.objects.create(**validated_data) def update(self, instance, validated_data): #只想数据表 获取前端返回数据 字段名 只想数据表字段名 instance.nick_name = validated_data.get('nick_name',instance.nick_name) instance.gender = validated_data.get('gender',instance.gender) instance.image = validated_data.get('image',instance.image) instance.add_time = validated_data.get('add_time',instance.add_time) instance.phone = validated_data.get('phone',instance.phone) instance.save() #数据表保存修改 return instance #返回数据表 class UserModelSeralizer(serializers.ModelSerializer): #创建类--序列化数据模型 class Meta: #指向数据模型-数据表 model = user_name #过滤数据表所有字段 fields = '__all__' ----------------------------------- from django.conf.urls import url from . import views urlpatterns = [ url(r'^users/$',views.UserGenericAPIView.as_view()), url(r'users/(?P<pk>\d+)',views.UserGenericSingleView.as_view()), ]
-------------------------
from django.shortcuts import render from .serializer import UserModelSeralizer,UserSerializer #导入序列化数据模型 from .models import user_name #导入数据表 from rest_framework.views import APIView #导入顶级APIVIEW接口视图模块 from rest_framework.response import Response #导入返回模块 from rest_framework import status #导入返回状态码模块 from rest_framework.generics import GenericAPIView #导入下一级APIVIEW接口视图 from rest_framework import mixins """ ------------------------------------ 导入mixins模块 mixins.ListModelMixin-------定义list方法,返回一个queryser的列表---对应GET请求 mixins.CreateModelMixin-----定义create方法,创建一个实例----对应POST请求 mixins。RetrieveModelMixin--定义retrieve方法,返回一个具体的实例--对应GET请求 mixins。UpdateModelMixin----定义update方法,对某个实例进行更新----对应PUT--PATH请求 mixins。DestroyModelMixin---定义delete方法,删除某个实例,-----delete请求对应 ------------------------------------ """ # Create your views here. class UserGenericAPIView(GenericAPIView,mixins.ListModelMixin,mixins.CreateModelMixin): queryset = user_name.objects.all() serializer_class = UserModelSeralizer def get(self,request): return self.list(request) def post(self,request): return self.create(request) class UserGenericSingleView(GenericAPIView,mixins.RetrieveModelMixin,mixins.UpdateModelMixin,mixins.DestroyModelMixin): queryset = user_name.objects.all() serializer_class = UserModelSeralizer def get(self,request,pk): return self.retrieve(request) def put(self,request,pk): return self.update(request) def delete(self,request,pk): return self.destroy(request)
最后记得去数据表里添加数据======
内容总结
以上是互联网集市为您收集整理的python Django rest-framework 创建序列化工程步骤全部内容,希望文章能够帮你解决python Django rest-framework 创建序列化工程步骤所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。