Django REST Framework该怎么理解

发布时间:2021-12-08 16:22:57 作者:柒染
来源:亿速云 阅读:171

今天就跟大家聊聊有关Django REST Framework该怎么理解,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1.Django REST framework框架介绍

2.设计API

我们先选择一个APP,比如说我选择的是schools APP,如何在设计这个APP中设计一个API接口,且在前端请求的时候,返回数据库中所有学校的详细信息呢?

url(r'^school/', include('schools.urls', namespace='schools'))
url(r'^all/$', AllSchoolsView.as_view(), name='all')
from django.views.generic.base import View
import json
from django.core.serializers import serialize
from django.http import HttpResponse, JsonResponse
from .models import School
class AllSchoolsView(View):
    def get(self, request):
        schools = School.objects.all()
        # 直接将数据库中的QuerySet对象转换为json数据格式
        goods_json = serialize('json', schools)
        print(type(goods_json))
        print('serialize: --------{}'.format(goods_json))
        return HttpResponse(content=goods_json, content_type='application/json')
from django.db import models
from datetime import datetime
class School(models.Model):
    name = models.CharField(max_length=50, verbose_name='学校名称')
    desc = models.CharField(max_length=100, verbose_name='学校描述')
    location = models.CharField(max_length=100, verbose_name='学校位置')
    create_time = models.DateTimeField(default=datetime.now, verbose_name='添加时间')
    course_numbers = models.IntegerField(default=0, verbose_name="课程数")

创建数据库表前面的文章也讲过,这里就不讲了,数据库表创建好了之后我们可以往里面增加数据,可以使用命令行添加,但是这样比较麻烦,所以这里我们数据库管理和设计工具Navicat(文章最后介绍),使用这个工具我们可以手动增加修改数据库表中的数据,特别方便;
首先需要选择一个待使用的数据库,我使用的是MySql,然后创建连接,再填写一下选项就可以了:

Django REST Framework该怎么理解

Django REST Framework该怎么理解

Django REST Framework该怎么理解

Django REST Framework该怎么理解

3.使用Django REST framework定制Restful API

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support
INSTALLED_APPS = (
    'rest_framework',
)
url(r'^api-auth/', include('rest_framework.urls'))
from rest_framework import serializers
class SchoolSerializer(serializers.Serializer):
    name = serializers.CharField()
    course_numbers = serializers.IntegerField()
from .models import School
from rest_framework.views import APIView
from rest_framework.response import Response
from .serializer import SchoolSerializer
class AllSchoolsView(APIView):
    def get(self, request):
        schools = School.objects.all()
        # many表示返回一个list, 如果不设置,则返回一个
        schools_serializer = SchoolSerializer(schools, many=True)
        return Response(schools_serializer.data)

Django REST Framework该怎么理解

4.Navicat

看完上述内容,你们对Django REST Framework该怎么理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. Django REST framework
  2. Django REST framwork的权限怎么验证

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django framework rest

上一篇:Django报错TemplateDoesNotExist该怎么办

下一篇:django项目基于钩子验证的注册功能是怎么样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》