restframework框架 一 APIView
2021-03-26 02:24
标签:hone tle alt framework man 技术 添加 如何 功能 RESTful:(面向资源架构(ROA:Resource Oriented Architecture)) 1. 一切皆资源 restful: get 查看 没有任何动词 不同的请求代表不同的功能 2. GET :从服务器取出资源(一项或多项) 首先下载 restframework 下载好后 首先在配置里加:
然后在view里导入 def get(self,request): 在model先创建个表结构 创建好表后 添加两条数据 然后创建一个接口 下面我们来看一下 APLView的源码 它的执行过程又是如何。
继承的是我们的View
因为APLView也有as_view所以我们用它的as_view restframework框架 一 APIView 标签:hone tle alt framework man 技术 添加 如何 功能 原文地址:https://www.cnblogs.com/yftzw/p/9397009.html
get 查看
books ------------>
post 添加
book/1/-------------
delete 删除
put 更新
POST :在服务器新建一个资源
PUT :在服务器更新资源(客户端提供改变后的完整资源)
PATCH :在服务器更新资源(客户端提供改变的属性)
DELETE :从服务器删除资源pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple djangorestframework
from rest_framework.views import APIView
class Home(APIView):
pass
def post(self,requset):
passfrom django.db import models
# Create your models here.
class Author(models.Model):
nid = models.AutoField(primary_key=True)
name=models.CharField( max_length=32)
age=models.IntegerField()
# 与AuthorDetail建立一对一的关系
authorDetail=models.OneToOneField(to="AuthorDetail",on_delete=models.CASCADE)
class AuthorDetail(models.Model):
nid = models.AutoField(primary_key=True)
birthday=models.DateField()
telephone=models.BigIntegerField()
addr=models.CharField( max_length=64)
class Publish(models.Model):
nid = models.AutoField(primary_key=True)
name=models.CharField( max_length=32)
city=models.CharField( max_length=32)
email=models.EmailField()
class Book(models.Model):
nid = models.AutoField(primary_key=True)
title = models.CharField( max_length=32)
publishDate=models.DateField()
price=models.DecimalField(max_digits=5,decimal_places=2)
# 与Publish建立一对多的关系,外键字段建立在多的一方
publish=models.ForeignKey(to="Publish",to_field="nid",on_delete=models.CASCADE)
# 与Author表建立多对多的关系,ManyToManyField可以建在两个模型中的任意一个,自动创建第三张表
authors=models.ManyToManyField(to=‘Author‘,)
from app01.models import Publish
from django.core.serializers import serialize
from rest_framework.views import APIView
class Home(APIView):
def get(self,request):
publish_list = Publish.objects.all()
ret = serialize("json", publish_list)
return HttpResponse(ret)
def post(self,requset):
pass