• View + django-rest-framework序列化


    demo目录

    RestDemo
    ├── App
    │ ├── admin.py
    │ ├── apps.py
    │ ├── init.py
    │ ├── migrations
    │ ├── models.py ------------------------------------------------数据模型
    │ ├── serializers.py ------------------------------------------------序列化模块
    │ ├── tests.py
    │ ├── urls.py
    │ └── views.py ------------------------------------------------CBV(class base view) 视图函数
    ├── manage.py
    └── RestDemo
    ​ ├── init.py
    ​ ├── settings.py
    ​ ├── urls.py
    ​ └── wsgi.py

    model模块

    from django.db import models
    
    class UserModel(models.Model):
        username = models.CharField(max_length=32)
        age = models.IntegerField()
    
        class Meta:
            db_table = 'user'
    

    serializers模块

    # 创建序列化类
    from rest_framework import serializers
    from App.models import UserModel
    
    class UserSerializer(serializers.ModelSerializer):
        class Meta:
            model = UserModel
            fields = ('username', 'age')
    
    

    views模块

    from django.http import HttpResponse, JsonResponse
    
    from django.views import View
    from App.models import UserModel
    from App.serializers import UserSerializer
    
    class UserResource(View):
        def get(self, request):
            user = UserModel.objects.first()
            serializer = UserSerializer(user)
            return JsonResponse(serializer.data)
    
        def post(self, request):
            users = UserModel.objects.all()
            '对多个对象进行序列化时注意many'
            serializers = UserSerializer(users, many=True)
            '忽略安全性'
            return JsonResponse(serializers.data, safe=False)
    
  • 相关阅读:
    Scrapy snippets
    HttpClient4的cookie rejected问题,以及如何消除该warning输出
    简单的python smtp发邮件代码
    FTP服务器:Proftpd
    “当HTML5来敲门”专题沙龙杂记
    Titanium Mobile 1.6版本发布
    给同学们分享一些面试经验
    用CSS3实现动画进度条
    3天内构建Facebook Web应用的经验之谈
    仅用CSS创建立体旋转幻灯片
  • 原文地址:https://www.cnblogs.com/sajinchang/p/10176855.html
Copyright © 2020-2023  润新知