rest_framework与django配合使用
rest_framework与django配合使用
一、构建表单,在这里我们先构建五个表单,分别是 author book publish user token 后面将会一一用到,如下:
models.py
from django.db import models # Create your models here. class User(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
type_choice = ((1,"普通用户"),(2,"VIP"),(4,"SVIP"))
user_type = models.IntegerField(choices=type_choice, default=1) def __str__(self):
return self.username class Token(models.Model):
user = models.OneToOneField("User")
token = models.CharField(max_length=128) def __str__(self):
return self.token class Author(models.Model):
name = models.CharField(max_length=16)
age = models.CharField(max_length=16) def __str__(self):
return self.name class Publish(models.Model):
title = models.CharField(max_length=32)
email = models.EmailField() def __str__(self):
return self.title class Book(models.Model):
title = models.CharField(max_length=64)
price = models.IntegerField()
authors = models.ForeignKey(to="Author")
publish = models.ForeignKey(to="Publish") def __str__(self):
return self.title
二、对admin组件进行注册,利用admin来录入数据
admin.py
from django.contrib import admin
from app01.models import *
# Register your models here. admin.site.register(Book)
admin.site.register(Author)
admin.site.register(Publish)
admin.site.register(User)
三、rest-framework的用法:
1、首先得写好序列化组件:在app01的根目录下面创建一个serializer.py 用来存放每一个组的序列化组件,组件如下:
from rest_framework import serializers
from app01.models import * class PublishModelSerializers(serializers.ModelSerializer):
class Meta:
model = Publish
fields = "__all__" class BookModelSerializers(serializers.ModelSerializer):
class Meta:
model = Book
fields = "__all__" class AuthorModelSerializers(serializers.ModelSerializer):
class Meta:
model = Author
fields = "__all__"
2、写好序列化组件之后就可以操作视图Views.py 了,操作如下:
from rest_framework import viewsets
from app01.models import *
from app01.serializer import *
# Create your views here. class AuthorModelView(viewsets.ModelViewSet):
queryset = Author.objects.all()
serializer_class = AuthorModelSerializers class BookModelView(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookModelSerializers class PublishModelView(viewsets.ModelViewSet):
queryset = Publish.objects.all()
serializer_class = PublishModelSerializers
3、写完了视图后就可以开始写最主要的url部分了!
from django.conf.urls import url,include
from django.contrib import admin
from rest_framework import routers
from app01 import views router = routers.DefaultRouter()
router.register("author",views.AuthorModelView) urlpatterns = [
url(r'^admin/', admin.site.urls), url(r'', include(router.urls)) ]
4、好了,这里就只需要在 Postman 里面输入url了,大功告成!

rest_framework与django配合使用的更多相关文章
- Django配合使用Jquery post方法
Django使用jQuery的post方法需要解决两个问题: 1.Django中为了防止跨站请求,在post提交时都会带上csrf_token,利用Jquery进行post请求也需要:否则就会出现40 ...
- Django rest_framework快速入门
一.什么是REST 面向资源是REST最明显的特征,资源是一种看待服务器的方式,将服务器看作是由很多离散的资源组成.每个资源是服务器上一个可命名的抽象概念.因为资源是一个抽象的概念,所以它不仅仅能代表 ...
- django添加REST_FRAMEWORK 接口浏览
1.安装rest_framework pip install djangorestframework 2.配置rest_framework ## 将rest_framework加入项目app列表 I ...
- 详解Django rest_framework实现RESTful API
这篇文章主要介绍了详解Django rest_framework实现RESTful API,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.什么是REST 面向资源是R ...
- REST_FRAMEWORK加深记忆-加了用户登陆认证,自定义权限的API接口
哈哈,终于快结束了.. urls.py from django.conf.urls import include, url from django.contrib import admin urlpa ...
- Django rest framework 自定义Exception
使用Dango rest framework时,有时需要raise APIException到前端,为了统一错误返回格式,我们需要对exception的格式进行调整. 方法: 1. 在project/ ...
- Python Django rest framework
本节内容 Django rest framework 安装 Django rest framwwork 环境配置 简单举例说明 Django中使用 rest framework 1.1 安装 Djan ...
- Django REST Framework 最佳实践
Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 - 验 ...
- Django REST framework框架介绍和基本使用
Django REST framework介绍 Django REST framework是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API. 官 ...
- django遇到的问题-系列1
django开发中遇到的问题以及解决方法: 1.You called this URL via POST, but the URL doesn't end in a slash and you hav ...
随机推荐
- CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)
CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强.它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果 工作原理 1.通过自动 ...
- Spring Cloud 比较
Spring Cloud 比较 一.简介 1.SpringCloud:一套微服务架构下的一站式解决方案,理念就是解决我们在微服务架构中遇到的任何问题: 2.SpringCloudAlibaba:阿里实 ...
- WEB前端项目开发流程
项目需求分析 这个环节是由项目经理完成,项目经理首先和客户进行交流,了解客户的需求,然后分析项目的可行性,如果项目可以被实现,项目经理写出项目需求文档交给设计师完成后续的开发. 页面设计 这个环节主要 ...
- oeasy 教您玩转linux 之 010209 装酷利器 hollywood
我们来回顾一下 上一部分我们都讲了什么? 屏幕故障风格的软件包bb 可以设置音频 这次装一个酷 下个hollywood软件包 apt show hollywood apt search hollywo ...
- [oeasy]python0027_整合程序_延迟输出时间_整合两个py程序
整合程序 回忆上次内容 通过搜索发现 time中有函数可以延迟 time.sleep(1) 还可以让程序无限循环 while True: 现在需要两个程序的整合 循环延迟输出 时间输出 编辑 ...
- [oeasy]python0024_unix时间戳_epoch_localtime_asctime_PosixTime_unix纪年法
输出时间回忆上次内容 通过搜索 我们学会 import 导入 time 了 完整写法为 asc_time = time.asctime( time.localtime( time.time())) 内 ...
- oeasy教您玩转python - 008 - # ascii码表
ASCII 码表 回忆上次内容 通过 help()可以从 python 命令行模式进入到帮助模式 通过 q 退出 ord(c)和 chr(i) 这是俩函数 这俩是一对,相反相成的 ord 通过字符 ...
- Day 9 - 线段树
线段树 引入 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构. 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改.区间修改.区间查询(区间求和,求区间最大值,求区间最小值) ...
- ABC358
A link -- 点击查看代码 #include<bits/stdc++.h> using namespace std; string s,t; signed main(){ cin & ...
- laravel6学习
web 服务器需要拥有 storage 目录下的所有目录和 bootstrap/cache 目录的写权限