RESTful:(面向资源架构(ROA:Resource Oriented Architecture))git
1. 一切皆资源django
restful:
get 查看
books ------------>
post 添加
get 查看
book/1/-------------
delete 删除
put 更新json
没有任何动词 不一样的请求表明不一样的功能服务器
2.restful
GET :从服务器取出资源(一项或多项)
POST :在服务器新建一个资源
PUT :在服务器更新资源(客户端提供改变后的完整资源)
PATCH :在服务器更新资源(客户端提供改变的属性)
DELETE :从服务器删除资源架构
首先下载 restframeworkapp
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple djangorestframework
下载好后 首先在配置里加:post
而后在view里导入spa
from rest_framework.views import APIView
class Home(APIView):
def get(self,request):
pass
def post(self,requset):
pass
在model先建立个表结构3d
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