文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Django REST Framework该怎么理解

2023-06-02 06:15

关注

今天就跟大家聊聊有关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 Viewimport jsonfrom django.core.serializers import serializefrom django.http import HttpResponse, JsonResponsefrom .models import Schoolclass 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 modelsfrom datetime import datetimeclass 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 djangorestframeworkpip 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 serializersclass SchoolSerializer(serializers.Serializer):    name = serializers.CharField()    course_numbers = serializers.IntegerField()
from .models import Schoolfrom rest_framework.views import APIViewfrom rest_framework.response import Responsefrom .serializer import SchoolSerializerclass 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该怎么理解有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯