标签:hone tle alt framework man 技术 添加 如何 功能
RESTful:(面向资源架构(ROA:Resource Oriented Architecture))
1. 一切皆资源
restful:
get 查看
books ------------>
post 添加
get 查看
book/1/-------------
delete 删除
put 更新
没有任何动词 不同的请求代表不同的功能
2.
GET :从服务器取出资源(一项或多项)
POST :在服务器新建一个资源
PUT :在服务器更新资源(客户端提供改变后的完整资源)
PATCH :在服务器更新资源(客户端提供改变的属性)
DELETE :从服务器删除资源
首先下载 restframework
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple djangorestframework
下载好后 首先在配置里加:
然后在view里导入
from rest_framework.views import APIView
class Home(APIView):
def get(self,request):
pass
def post(self,requset):
pass
在model先创建个表结构
from 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
下面我们来看一下 APLView的源码 它的执行过程又是如何。
继承的是我们的View
因为APLView也有as_view所以我们用它的as_view
标签:hone tle alt framework man 技术 添加 如何 功能
原文地址:https://www.cnblogs.com/yftzw/p/9397009.html