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配合使用的更多相关文章

  1. Django配合使用Jquery post方法

    Django使用jQuery的post方法需要解决两个问题: 1.Django中为了防止跨站请求,在post提交时都会带上csrf_token,利用Jquery进行post请求也需要:否则就会出现40 ...

  2. Django rest_framework快速入门

    一.什么是REST 面向资源是REST最明显的特征,资源是一种看待服务器的方式,将服务器看作是由很多离散的资源组成.每个资源是服务器上一个可命名的抽象概念.因为资源是一个抽象的概念,所以它不仅仅能代表 ...

  3. django添加REST_FRAMEWORK 接口浏览

    1.安装rest_framework pip install djangorestframework  2.配置rest_framework ## 将rest_framework加入项目app列表 I ...

  4. 详解Django rest_framework实现RESTful API

    这篇文章主要介绍了详解Django rest_framework实现RESTful API,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 一.什么是REST 面向资源是R ...

  5. REST_FRAMEWORK加深记忆-加了用户登陆认证,自定义权限的API接口

    哈哈,终于快结束了.. urls.py from django.conf.urls import include, url from django.contrib import admin urlpa ...

  6. Django rest framework 自定义Exception

    使用Dango rest framework时,有时需要raise APIException到前端,为了统一错误返回格式,我们需要对exception的格式进行调整. 方法: 1. 在project/ ...

  7. Python Django rest framework

    本节内容 Django rest framework 安装 Django rest framwwork 环境配置 简单举例说明 Django中使用 rest framework 1.1 安装 Djan ...

  8. Django REST Framework 最佳实践

    Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 - 验 ...

  9. Django REST framework框架介绍和基本使用

    Django REST framework介绍 Django REST framework是基于Django实现的一个RESTful风格API框架,能够帮助我们快速开发RESTful风格的API. 官 ...

  10. django遇到的问题-系列1

    django开发中遇到的问题以及解决方法: 1.You called this URL via POST, but the URL doesn't end in a slash and you hav ...

随机推荐

  1. CodeFormer一款既能图像修复、还能视频增强去码的AI软件(下载介绍)

    CodeFormer是一款强大的人工智能工具,主要用于图像和视频的修复和增强.它基于深度学习技术,特别是人脸复原模型,可以轻松修复和增强面部图像,提升照片和视频的质量和视觉效果 工作原理 1.通过自动 ...

  2. Spring Cloud 比较

    Spring Cloud 比较 一.简介 1.SpringCloud:一套微服务架构下的一站式解决方案,理念就是解决我们在微服务架构中遇到的任何问题: 2.SpringCloudAlibaba:阿里实 ...

  3. WEB前端项目开发流程

    项目需求分析 这个环节是由项目经理完成,项目经理首先和客户进行交流,了解客户的需求,然后分析项目的可行性,如果项目可以被实现,项目经理写出项目需求文档交给设计师完成后续的开发. 页面设计 这个环节主要 ...

  4. oeasy 教您玩转linux 之 010209 装酷利器 hollywood

    我们来回顾一下 上一部分我们都讲了什么? 屏幕故障风格的软件包bb 可以设置音频 这次装一个酷 下个hollywood软件包 apt show hollywood apt search hollywo ...

  5. [oeasy]python0027_整合程序_延迟输出时间_整合两个py程序

    ​ 整合程序 回忆上次内容 通过搜索发现 time中有函数可以延迟 time.sleep(1) 还可以让程序无限循环 while True: 现在需要两个程序的整合 循环延迟输出 时间输出 ​ 编辑 ...

  6. [oeasy]python0024_unix时间戳_epoch_localtime_asctime_PosixTime_unix纪年法

    输出时间回忆上次内容 通过搜索 我们学会 import 导入 time 了 完整写法为 asc_time = time.asctime( time.localtime( time.time())) 内 ...

  7. oeasy教您玩转python - 008 - # ascii码表

    ​ ASCII 码表 回忆上次内容 通过 help()可以从 python 命令行模式进入到帮助模式 通过 q 退出 ord(c)和 chr(i) 这是俩函数 这俩是一对,相反相成的 ord 通过字符 ...

  8. Day 9 - 线段树

    线段树 引入 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构. 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改.区间修改.区间查询(区间求和,求区间最大值,求区间最小值) ...

  9. ABC358

    A link -- 点击查看代码 #include<bits/stdc++.h> using namespace std; string s,t; signed main(){ cin & ...

  10. laravel6学习

    web 服务器需要拥有 storage 目录下的所有目录和 bootstrap/cache 目录的写权限