码迷,mamicode.com
首页 > 其他好文 > 详细

django之rest-framework

时间:2019-02-08 23:41:37      阅读:327      评论:0      收藏:0      [点我收藏+]

标签:publish   项目   ESS   static   target   col   str   官方   max   

django的rest-framework是django很贴心的为我们准备的一个实例化app

https://www.django-rest-framework.org/

安装这个app

pip install djangorestframework

安装好之后需要我们在项目的setting里面注册这个app

INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    app01.apps.App01Config,
    "rest_framework",
]

现在我们就可以使用他的功能了,在使用之前我们可以先来看下我们之前是怎么来序列化的,先导入一些测试的数据:

from django.db import models

# Create your models here.


class Book(models.Model):
    title=models.CharField(max_length=32)
    price=models.IntegerField()
    pub_date=models.DateField()
    publish=models.ForeignKey("Publish")
    authors=models.ManyToManyField("Author")
    def __str__(self):
        return self.title

class Publish(models.Model):
    name=models.CharField(max_length=32)
    email=models.EmailField()
    def __str__(self):
        return self.name

class Author(models.Model):
    name=models.CharField(max_length=32)
    age=models.IntegerField()
    def __str__(self):
        return self.name

首先我们看下我们可以使用的第一种方式:

from django.views import View
from app01.models import *
import json


class PublishView(View):

    def get(self,request):
        # 方式一
        # publish_list = list(Publish.objects.all().values("id","name"))
        # 或者也可以这样
        publish_list = Publish.objects.all()
        tem = []
        for obj in publish_list:
            tem.append({
                "id":obj.pk,
                "name":obj.name
            })
        
        

        # return HttpResponse(json.dumps(publish_list))
        return HttpResponse(json.dumps(tem))

django之rest-framework

标签:publish   项目   ESS   static   target   col   str   官方   max   

原文地址:https://www.cnblogs.com/cuilinpu/p/10356778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!