[Django] Building the rest API
Install the rest api framework:
pip install djangorestfamework
In settings.py:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
'scrurumboard',
]
Create serializers to transform python to JSON:
## scrumboard/serializers.py from rest_framework import serializers from .models import List, Card ## Translate python to JSON
class ListSerializer(serializers.ModelSerializer): class Meta:
model = List
fields = '__all__' class CardSerializer(serializers.ModelSerializer): class Meta:
model = Card
fields = '__all__'
It will according to 'Card' and 'List' Models to generate JSON.
REST API Views:
We also needs to use Views (controllers) to get data from database thought Model and transform to JSON and return to the client.
## scrumboard/api.py from rest_framework.generics import ListAPIView from .serializers import ListSerializer, CardSerializer
from .models import List, Card class ListApi(ListAPIView):
queryset = List.objects.all() ## get all the List data from databse
serializer_class = ListSerializer ## conver to JSON class CardApi(ListAPIView):
queryset = Card.objects.all()
serializer_class = CardSerializer
CONFIG URLS:
## scrumboard/urls.py from django.conf.urls import url from .api import ListApi, CardApi urlpatterns = [
url(r'^lists$', ListApi.as_view()),
url(r'^cards$', CardApi.as_view())
]
This tells that anthing match sub-url like 'lists' or 'cards', we serve those request with ListApi view or CardApi view.
Then in the default urls.py, we need to set up this app entry url:
from django.conf.urls import url, include
from django.contrib import admin urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^scrumboard/', include('scrumboard.urls')) ## match the urls.py file in scrumboard folder
]
Because we added 'rest_framework' into INSTALLED_APPS array, we can visit: http://localhost:8000/scrumboard/cards
TO see the REST API interface.
[Django] Building the rest API的更多相关文章
- Django缓存机制--rest_framework中节流源码使用的就是django提供的缓存api
一.配置缓存 https://www.jb51.net/article/124434.htm 二.缓存全站.页面.局部 三.自我控制的简单缓存API API 接口为:django.core.c ...
- django表单的api
django表单的api,参考文档:https://yiyibooks.cn/xx/Django_1.11.6/ref/forms/api.html 绑定与未绑定形式: Form要么是绑定的,要么是未 ...
- python3.8.0 Django 开发后端接口api 部署到 Linux Centos7上
经历了两天的时候终于把本地使用python3 django开发的接口API部署到服务器上了,还是记录一下,以免之后忘记,哈哈 注意一点,就是,centos7是基于python2的,我这边默认的是pyt ...
- 详解Django rest_framework实现RESTful API
这篇文章主要介绍了详解Django rest_framework实现RESTful API,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.什么是REST 面向资源是R ...
- Django入门-基本数据库API
# 现在系统里还没有 Question 对象 >>> Question.objects.all() <QuerySet []> # 创建新 Question # 在 se ...
- Django Rest Swagger生成api文档
关于swagger Swagger能成为最受欢迎的REST APIs文档生成工具之一,有以下几个原因: Swagger 可以生成一个具有互动性的API控制台,开发者可以用来快速学习和尝试API. Sw ...
- Django 使用模型的API
进入项目目录 python3运行 import os os.environ['DJANGO_SETTINGS_MODULE']= '项目.settings' import django django. ...
- Django后端项目----RESTful API
一. 什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角 ...
- Django Rest FrameWork 全部API
Django Rest FrameWork .Requests 请求 客服端发送给服务器的请求 .Responses 响应 rest框架支持响应不同格式的内容 .Views 视图 base基础类视图 ...
随机推荐
- Method of address space layout randomization for windows operating systems
A system and method for address space layout randomization ("ASLR") for a Windows operatin ...
- asp.net 查询sql数据表的网页模板
最近因为工作需求,要制作一个网页模板,主要是用于快速开发,可以查询Sql数据表信息的模板, 昨天做好了,这个只是一个Demo,但是功能已经齐全了, 开发新的网站时,需要新增一个xml,复制粘贴网页的前 ...
- android:一个Open键引发的问题!!
1.问题简单介绍 首先描写叙述一下问题.当我们安装完APP的时候,界面会显示两个button,一个完毕键,一个Open键,点击Open键之后.进入应用.此时.我们点击HOME键.程序将会后台.然后再点 ...
- java和javascript日期校验和闰年问题分析和解决方式
1.闰年的介绍 地球绕太阳执行周期为365天5小时48分46秒(合365.24219天)即一回归年.公历的平年仅仅有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天.故四年于2月加 ...
- HDU 4869 Turn the pokers(思维+组合公式+高速幂)
pid=4869" target="_blank">Turn the pokers 大意:给出n次操作,给出m个扑克.然后给出n个操作的个数a[i],每一个a[i] ...
- c3p0的经常使用配置方式
1:第一种方式很easy c3p0.driverClass=com.mysql.jdbc.Driver c3p0.jdbcUrl=jdbc:mysql://localhost:3308/databas ...
- 2. Dubbo和Zookeeper的关系
转自:https://www.cnblogs.com/hirampeng/p/9540243.html Dubbo建议使用Zookeeper作为服务的注册中心. 1. Zookeeper的作用: ...
- 洛谷 P1657 选书
P1657 选书 题目描述 学校放寒假时,信息学奥赛辅导老师有1,2,3……x本书,要分给参加培训的x个人,每人只能选一本书,但是每人有两本喜欢的书.老师事先让每个人将自己喜欢的书填写在一张表上.然后 ...
- Android 6.0 扫描不到 Ble 设备需开启位置权限
Android 6.0 扫描不到 Ble 设备需开启位置权限 之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试的,今天使用 Android 6.0 的设备测试的时候,发现扫 ...
- 编程一一C语言的问题,cpu中的专用寄存器