首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RESTful源码笔记之RESTful Framework的APIview, Viewset总结分析

0x00  引言 官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。...0x01 django View 首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...: 限速设置,对用户进行一定的访问次数限制等等。...那么,现在面临一个问题,假设我定义了一个用户收藏的model,我想要知道我id为1的课程是否收藏了,我传进来的url为:http://127.0.0.1:8000/userfav/1/,系统会默认获取userfav...,显然,当获取课程列表时,只需要传回去所有课程的简要信息,课程名字,老师,封面等等,但当获取课程的具体信息,我们还要将他们的章节以及相关下载资料(很明显,章节是另外一个model,有一个外键指向course

1K10

django rest framework通用view

官方文档:http://www.django-rest-framework.org/ drf为我们提供强大的通用view的功能,本博客对这些view进行简要的总结分析。...1. django View   首先,我们使用django自带的view,获取一个课程的列表: # drf是通过json的格式进行数据交互的,所以这里也返回json数据 import json from...: 限速设置,对用户进行一定的访问次数限制等等。...那么,现在面临一个问题,假设我定义了一个用户收藏的model,我想要知道我id为1的课程是否收藏了,我传进来的url为:http://127.0.0.1:8000/userfav/1/,系统会默认获取userfav...,当获取课程列表时,只需要传回去所有课程的简要信息,课程名字,老师,封面等等,但当获取课程的具体信息,我们还要将他们的章节以及相关下载资料(很明显,章节是另外一个model,有一个外键指向course

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

五个很实用的Django 项目推荐

但是今天我想推荐一些其他的包, 更有爱的包. django-sql-explorer 有时候你的用户想通过执行SQL的方式来访问你数据库里面的数据, 但处于某些安全的原因,你不能给他们直接执行数据库的权限....但django-sql-explorer 可以让用户通过web端沙盒的方式执行SQL并可以下载执行结果(CSV), 排序数据和数据透视操作. ?...#Viewing all queries django-tables-2 很多数据在web通过表格展示, 通过它能够很方便的操作HTML表格, 让你非常容易的在Django操作表格....django-rest-hooks REST APIs 是很棒的接口设计, 而且django-rest-framework能很好的提供这个功能....但是如果你仅仅是基于事件来获取数据, 那么你需要一个webhook. 使用这个包可以非常容易的以REST框架装饰你的模型. 下面就是相应的代码.

1.6K40

Django进阶:DRF(Django REST framework)

Django,我们通过model-view-template实现了后端和前端的通信。但前端未必是用Django的template实现的,也可以用单独的前端框架vue)实现。...“Django REST 框架”这个名字是在 2011 年初决定的,选择它只是为了确保开发人员很容易找到这个项目。在整个文档,我们尝试使用更简单、技术上正确的术语“Web API”。...创建一个简单的API,允许管理员查看和编辑系统用户和组。...'rest_framework', ] 同步数据库 python manage.py migrate 创建超级用户admin,密码设置为password123: python manage.py createsuperuser...2.创建view 在quickstart/views.py from django.contrib.auth.models import User, Group from rest_framework

45720

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

但是从代码可以看到: 通过在新建列表、其元素为单个商品信息组成的字典,一个一个地添加,显得很麻烦,可进行改进; 有些字段不能直接用json.dumps()方法序列化,datetime,会报错,商品列表视图修改为如下时...REST框架是用于构建Web API的功能强大且灵活的工具包。...urls.py配置路径: from django.conf.urls import url, include from django.views.static import serve from rest_framework.documentation...框架的灵活请求解析,而不仅仅是支持表单数据。...还可以通过在字段前面加上各种字符来限制搜索行为search_fields: '^'开始搜索 '='完全匹配 '@'全文搜索(当前仅支持Django的MySQL后端) '$'正则表达式搜索 修改如下:

5.3K20

Django Swagger接口文档生成

简介 Swagger:是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统源代码作为服务器以同样的速度来更新。...二、Django接入Swagger 大致步骤 1.安装django-rest-swagger 2.进入到setting.py文件,添加django-rest-swagger应用 3.进入到views.py...,将之前定义的UserViewSet和GroupViewset补充注释 4.在urls.py添加get_schema_view辅助函数 5.启动Django服务,检测Swagger接口文档配置效果 环境说明...python3 manage.py migrate 创建超级用户 python3 manage.py createsuperuser 注意:密码必须符合复杂性要求。...这里是返回了一条用户表数据,"username": "xiao",就是我新建的超级用户。 点击Authorize ? 输入新建的超级用户和密码 ?  登录成功后,效果如下: ?

4.1K40

105-Django开发多商户询盘上级网站-在线聊天交流通讯

一、项目概述本项目旨在构建一个在线询盘交易系统,允许用户上传产品、搜索过滤产品、注册登录、进行即时通讯聊天,以及提供一个超级用户管理端来管理整个系统。...系统使用Python语言和Django框架进行开发,数据库可选择Sqlite3(开发环境)或MySQL、PostgreSQL(生产环境)。...二、技术栈后端:Python、DjangoDjango REST framework(可选,用于API开发)数据库:Sqlite3(开发)、MySQL或PostgreSQL(生产)前端:HTML/CSS...即时通讯聊天实现WebSocket通信,支持用户之间的实时聊天。提供聊天室或一对一聊天功能。超级用户管理端提供后台管理系统,允许超级用户管理用户、产品、订单等。...API文档(可选):如果使用Django REST framework开发API,则输出API文档。测试报告:记录测试结果和发现的问题。部署指南:提供系统部署和配置的指导。

6710

Django REST Framework-常用的权限类型

Django REST Framework是一个用于构建Web API的强大框架。其中一个重要的特性是提供了多种权限类型来控制用户对API端点的访问。...如何使用权限Django REST Framework的权限通常通过将它们附加到视图类来使用。您可以通过将类变量permission_classes设置为适当的权限类列表来指定要使用的权限。...示例以下是一个更完整的示例,展示如何在Django REST Framework中使用权限。假设我们有一个名为Snippet的模型,它表示代码片段,我们希望只有创建该代码片段的用户才能够修改或删除它。...这个权限类检查当前请求的用户是否是代码片段的所有者,如果是则允许修改或删除。否则,只允许读取操作。...在put()方法,我们使用self.request.user将当前请求的用户设置为代码片段的所有者。这样,如果用户成功更新代码片段,他们就会成为该代码片段的新所有者。

1.4K20

体验Django REST framework,解读REST架构风格

一开始在项目中使用的是OpenResty来实现REST API,但使用起来一直觉得不方便。主要是因为Lua没有ORM,也没有REST架构风格的框架。...migrate # 执行迁移 python manage.py createsuperuser --email admin@example.com --username admin # 创建超级用户...2.2 连通性 在GET /请求的响应,包含了user资源和对应group资源的URI。 在GET /users请求的响应,也包含了groups资源,只是因为当前没有group资源,所以是空数组。...我们在页面登录后,创建名称为superuser的group,再把admin用户加入到superuser组。此时再请求GET /users,响应如下。...如果需要了解该group资源的具体信息,则可以通过请求GET http://127.0.0.1:8000/groups/1获取

4.1K582

DRF框架学习(四)

DRF框架学习(四) 1.视图集对象的action属性 作用: 获取现在要执行的是哪一种操作。 self.action:是字符串类型,目的是获取所有执行的操作。...在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object()获取具体对象时,会进行对象访问权限的判断 DRF框架提供了四个权限控制类: AllowAny允许所有用户...', # 仅仅允许认证用户进行访问 ) } 也可以在具体的视图中通过 permission_classes属性来指定某个视图所使用的权限控制类,: from rest_framework.permissions...pip install django-filter 在配置文件增加过滤后端的设置: INSTALLED_APPS = [ ......我们可以在配置文件设置全局的分页方式,REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': '', 'PAGE_SIZE'

2.7K40

mezzanine,一个无敌的 Python 库!

Github地址:https://github.com/stephenmcd/mezzanine Mezzanine是一个高度灵活且功能丰富的内容管理系统(CMS),基于Django框架开发。...# 文件上传通常通过Mezzanine的管理界面进行,以下是如何在代码引用已上传的文件 from mezzanine.core.models import File # 获取并显示所有已上传的文件...API集成 Mezzanine可以通过第三方库Django REST framework集成RESTful API,使得网站数据可以通过API进行访问和管理。...# 在Django的settings.py添加rest_framework到INSTALLED_APPS INSTALLED_APPS += ('rest_framework',) # 创建一个API...# 配置settings.py以支持多站点 SITE_ID = 1 总结 Python的Mezzanine库是一个功能全面且易于使用的内容管理系统(CMS),基于强大的Django框架

7710

全栈“食”代:用 Django + Nuxt 实现美食分享网站(一)

,包括前端如何通过发起 HTTP(S) 请求从后端获取数据 学习目标 学完这篇教程后,你将: 了解用 pipenv 工具管理 Python 依赖 学会用 Django REST Framework 快速开发...REST API 学会用 Nuxt 框架快速开发 SPA(单页应用),能够从后端获取数据并渲染 用 pipenv 初始化 Python 环境 首先创建项目目录,并进入: $ mkdir recipes_app...我们接着安装 Django “三件套”: Django: Django 框架本身,提供了丰富且强大的服务器开发组件; DRF (Django Rest Framework):Django 框架超级搭档...recipes_app-nV3wuGJ1) $ cd api (recipes_app-nV3wuGJ1) $ python manage.py startapp core 接着进行数据库迁移,并创建用于登录后台管理的超级用户...输入刚才创建的超级用户用户名和密码,就进入了后台管理系统,如下所示: 熟悉的界面,但是——没什么东西,而且全是英文!别担心,后面我们会一个个搞定。

1.5K30
领券