[Django] ModelViewSet from rest_framework and Router

To build rest api easily, we can use ModelViewSet from rest_framework.

It provides GET, POST, DELETE, PUT methods.

from rest_framework.viewsets import ModelViewSet
from .serializers import ListSerializer, CardSerializer
from .models import List, Card

class ListViewSet(ModelViewSet):
    queryset = List.objects.all()
    serializer_class = ListSerializer

class CardViewSet(ModelViewSet):
    queryset = Card.objects.all()
    serializer_class = CardSerializer

To render those model view set, you can use router provided by rest_framework.

By default, it end with slash!

from .api import ListViewSet, CardViewSet
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r‘lists‘, ListViewSet)
router.register(r‘cards‘, CardViewSet)

urlpatterns = router.urls
时间: 2024-10-19 19:34:26

[Django] ModelViewSet from rest_framework and Router的相关文章

【Vue+django】 配合rest_framework的惊天大坑

我TM一直用vue的post提交数据,一直403,然后测试了N种方法,最后居然是被rest_rest_framework的认证系统 给坑惨了,我没定义认证,它却自动的给我默认上拒绝了 setting配置: REST_FRAMEWORK = { "DEFAULT_AUTHENTICATION_CLASSES": [], "DEFAULT_PERMISSION_CLASSES": [], } 完美解决 接口文件: from rest_framework.views im

django使用rest_framework

在项目的setting.py文件中 "INSTALLED_APPS"加入 'rest_framework' INSTALLED_APPS = (     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.

Django中rest_framework的认证组件,权限组件,频率组件,序列化组件的最简化版接口

url urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^login/', views.Login.as_view()), # Book表 url(r'^books/$',views.BookHandle.as_view({ 'get':'list', 'post':'create' })), url(r'^books/(?P<pk>\d+)/',views.BookHandle.as_view({ 'get':'retrieve

django rest_framework vue 实现用户登录

django rest_framework vue 实现用户登录 后端代码就不介绍了,可以参考  django rest_framework 实现用户登录认证 这里介绍一下前端代码,和前后端的联调过程 在components下新建login.vue 文件 <template> <div class="login"> <el-form label-width="80px"> <el-form-item label="

django rest_framework

环境 django 1.6,rest_framework 3.3 ubuntu采用pip安装的rest_framework 按照例子一步步做下来 运行 提示filters.py第119行有错误forms.UUField找不到,查找了下好像上下问并没有使用UUIDFilter这个,注释掉 这个时候错误变成了No module named http_client 没道理一安装有这么多错误,Bing之发现有人说是版本不匹配,从服务起down了一个2.4.x下来setup了 错误变成了'module'

django multidb --- router

之前一篇随笔, 提到了django中怎么使用多数据库, 但是在实际工程中遇到了一个问题,就是admin指定了使用某库, 在测试环境上没问题, 当部署后(库也变动了位置), 修改一个admin的model object保存后就报错. No such table 追溯了下源码, 没有找到问题,  但可以确定的是那个保存操作并没有使用到我们指定的数据库,使用了default. 最后是使用了django的router解决了这个问题 那么django的router是什么? 就是一个类, 定义了如下方法 d

django rest_framework Serializers 序列化组件

为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转成json格式,那就需要对我们从数据库拿到的数据进行序列化. 接下来我们看下django序列化和rest_framework序列化的对比~~ Django的序列化方法 class BooksView(View): def get(self, request): book_list = Book.objects.values("id&quo

0010 Django工程配置(07 REST_FRAMEWORK配置)

DRF有丰富的功能,JWT认证.过滤.分页.异常处理.接口文档.限流.缓存等. 这些配置,有些需要写自定义接口,有些只需要配置就可以了. 1 在INSTALLED_APPS中,增加两个应用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'dja

【Django】Django-REST-Framework

[创建简单的API] 1. cmd.exe >django-admin startproject django_rest>cd django_rest\django_rest>python3 manage.py startapp api 2. setting.py 加应用 # Application definitionINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.conten