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

Django Rest Framewor

什么是RESTful REST与技术无关,代表是一种软件架构风格,REST是Representational State Transfer简称,中文翻译为“表征状态转移” REST从资源角度审视整个网络...,它将分布在网络中某个节点资源通过URL进行标识,客户端应用通过URL来获取资源表征,获得这些表征致使这些应用转变状态 所有的数据,不过是通过网络获取还是操作(增删改查)数据,都是资源,将一切数据视为资源是...更多看这里:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 状态码 错误处理,状态码是4xx时,应返回错误信息,error当做...Django实现   路由系统:   urlpatterns = [ url(r'^users', Users.as_view()), ]    CBV视图: from django.views...import View from django.http import JsonResponse class Users(View): def get(self, request, *args

1.3K20

概述

通常情况下,Django 视图函数(View)是一个纯粹 Python 函数,它接收一个 request(HTTP 请求),返回一个 response(HTTP 响应)。...View(基于视图,这里简称视图)。...视图比函数视图提供了更加高层抽象,它将上边提及数据库操作、表单处理、模板渲染等通用操作抽取为图中方法,函数参数、状态等则抽取为视图属性,最终通过一个 as_view 方法将整个视图转换为一个可调用对象...dates.py 主要存放用于按时间归档视图, ArchiveIndexView,一些视图在博客系统中非常有用,例如获取某个日期下全部文章列表。...例如 ContextMixin 及其子类负责获取渲染模板所需模板变量;MultipleObjectMixin 负责从数据库获取模型对应多条数据;View 负责处理 HTTP 请求( get 请求,

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

drf之请求、响应、视图

参数说明: data: 为响应准备序列化处理后数据; status: 状态码,默认200; template_name: 模板名称,如果使用HTMLRenderer 时需指明; headers: 用于存放响应头信息字典...2.1 两个视图基 2.1.1 APIView APIView是drf 提供所有视图,继承自DjangoView父。...get_serializer(self, *args, **kwargs) :返回序列化器对象,主要用来提供给Mixin扩展使用,如果我们在视图中想要获取序列化器对象,也可以直接调用此方法。...在试图中可以调用该方法获取详情信息模型对象。**若详情访问模型对象不存在,会返回404。...使用示例,基于GenericAPIView和5个视图拓展改写接口: urls.py : from django.urls import path,re_path from app01 import views

2.1K20

Django获取已渲染 HTML 文本

Django中,你可以通过多种方式获取已渲染HTML文本。这通常取决于你希望在哪个阶段获取HTML文本。下面就是我在实际操作中遇到问题,并且通过我日夜奋斗终于找到解决方案。...以下是一个示例代码,展示了如何在图中将已渲染 HTML 文本存储在模板变量中:def loginfrm(request): """ 登录表单视图 """ # 渲染登录表单 HTML...另一种方法是使用 TemplateResponse 。此类将模板字符串或模板对象作为参数,并返回一个 HTTP 响应对象。HTTP 响应对象包含渲染后 HTML 文本。...TemplateResponse:将模板字符串或模板对象渲染为 HTTP 响应对象。render():将模板字符串或模板对象渲染为 HTTP 响应对象,并将其发送到客户端。...这些方法可以帮助我们在Django获取已渲染HTML文本,然后我们可以根据需要进行进一步处理或显示。

9810

Django』视图views

Django 中,主要有两种类型视图: FBV:基于函数视图 CBV:基于视图 FBV(Function-Based Views)和CBV(Class-Based Views)是两种处理视图方式...FBV:函数视图 FBV(Function-Based Views)是基于函数视图方式。它是一种简单直观方式,使用Python 函数来处理 HTTP 请求并返回响应。...在图中,需要确保你继承自 django.views.View 或其子类,这样才能正确使用 as_view() 方法。...django.views.View 提供了一些基本 HTTP 请求方法( GET、POST 等),你可以在子类中覆盖这些方法来处理不同类型请求。...在函数视图中,通过解析 request 这个参数可以获取到客户端发起请求方法(通常是 GET 和 POST)。

7110

Python进阶39-drf框架(一)

State Transfer简称,中文翻译为“表征状态转移” 2.REST从资源角度审视整个网络,它将分布在网络中某个节点资源通过URL进行标识,客户端应用通过URL来获取资源表征,获得这些表征致使这些应用转变状态...3.REST与技术无关,代表是一种软件架构风格,REST是Representational State Transfer简称,中文翻译为“表征状态转移” 4.所有的数据,不过是通过网络获取还是操作...search=西&ordering=-price&limit=3 响应数据: 1) http请求响应会有响应状态码,接口用来返回操作资源数据,可以拥有 操作数据结果 状态码 status...0(操作资源成功) 1(操作资源失败) 2(操作资源成功,但没匹配结果) 注:资源状态码不像http状态码,一般都是后台与前台或是客户约定 2) 资源状态码文字提示 status...APIViewdispatch 4) 完成任务方法交给视图请求函数处理,得到请求响应结果,返回给前台 """ 请求模块 ---- 源码入口 APIViewdispatch方法中:request

4K30

使用AJAX获取Django后端数据

根据Django项目的URLconf和视图配置方式,URL可能包含关键字参数或查询字符串,我们希望在视图中使用该参数来选择请求数据。 Headers 设置AJAX请求头参数。...它将返回一个response,该response将返回所请求响应。为了从响应获取数据,我们必须通过多次使用.then处理程序来使用链式response。...这可以通过多种方式完成,但是最简单方法之一就是使用基于函数视图,该视图接受请求并返回带有请求数据JsonResponse。...调用之前,请确保从django.http导入JsonResponse。 该视图将返回JsonResponse,该序列将数据字典序列化并将其发送回我们页面,在此页面中将通过链接进行处理。...我们从POST请求中获得响应将像GET请求一样使用链式承诺进行处理。 在视图中处理POST请求 接受POST请求视图将从请求中获取数据,对其执行一些操作,然后返回响应

7.5K40

Django 统一异常处理

概述 在项目中统一异常处理,可以防止代码中有未捕获异常出现。本文介绍如何在 Django 项目中进行统一异常处理,再结合状态码枚举对项目异常信息进行日志记录。...Django 统一异常处理 在 Django 项目中可以自定义 中间件 继承 django.middleware.common 下 MiddlewareMixin 中间件,重写 process_exception...返回值是 HttpResponse 对象,则是对应响应信息,页面不会报错。...统一异常处理具体设计 结合自定义异常和状态码枚举,进行异常日志信息和业务逻辑处理。 自定义异常模块 # exceptions.py #!...状态码枚举则是用来记录对应异常信息。 状态码枚举设计可以查阅 巧用Python 枚举设计状态码信息 响应信息统一结果封装 统一前后端交互数据和异常信息结果。

1.8K21

第1节 初识Django框架

(dict)content_typ:MIME类型,默认为text/htmlstatus:HTTP状态码using:模板引擎名称(Jinja2)输入URLhtttp://127.0.0.1:8000/hello...——重定向JsonResponse——响应jsonFileResponse——响应文件HttpResponsestatus设置HTTP响应状态码status_code查看HTTP响应状态码content_type...设置响应类型write()写入响应内容JsonResponseURL规则path('http/json/', http_jsonresp, name='http_jsonresp'),视图编辑:from...步骤二:配置模板地址步骤三:配置URL内置通用视图django.views.generic.ListView列表数据封装,:景点列表,支持分页django.views.generic.DetailView...详情数据封装,:景点详情输入URLhtttp://127.0.0.1:8000/hello/home/URL规则path('home/', HomeView.as_view(), name='home

65430

python教程

状态码 总是在你图中用数字HTTP状态码会更加容易理解,并且如果你用其他错误代码表示错误,就不太容易注意到了。...REST框架为每个状态码`(status code)`提供更明确标识符,例如在状态`(status)`模型中`HTTP_400_BAD_REQUEST`。...用这些标识符代替纯数字HTTP状态码是很好注意。 装饰API视图 REST框架提供两个装饰器,你可以用它们来写API视图。 1 @api_view装饰器用在基于视图方法上。...2 APIView用在基于视图上。 这些装饰器提供一些功能,例如确保在你图中接收Request对象,例如在你Response对象中添加上下文,这样我们就能实现内容通信。...这里装饰器也提供了一些行为,例如在合适时候返回405 Method Not Allowed响应,例如处理任何在访问错误输入request.data时出现解析错误(ParseError)异常。

5K10

DjangoRESTframework(补充)

ModelSerilalizer ModelSerializer 与常规 Serilaizer 相同,提供了 基于模型自动生成一系列字段 基于模型自动为Serializer生成validators...; status: 状态码,默认200; template_name: 模板名称,如果使用HTMLRenderer 时需指明; headers: 用于存放响应头信息字典; content_type:...常用属性: 1).data 传给response对象序列化后,但尚未render处理数据 2).status_code 状态数字 3).content 经过render处理后响应数据 视图说明...,如果我们在视图中想要获取序列化器对象,可以直接调用此方法。...在试图中可以调用该方法获取详情信息模型对象。 若详情访问模型对象不存在,会返回404。

2.2K30

python 终极篇 --- django

),简称视图,是一个简单Python 函数(),它接受Web请求并且返回Web响应。...CBV和FBV                                          我们之前写过都是基于函数view,就叫FBV。还可以把view写成基于。...得到HttpResponse对象,返回django处理 fbv ---   基于函数视图     cbv ----基于视图                                  加装饰器...我们写每个视图都需要实例化,填充和返回一个HttpResponse。 HttpResponse位于django.http模块中。...return redirect(object, permanent=True)   扩展阅读: 临时重定向(响应状态码:302)和永久重定向(响应状态码:301)对普通用户来说是没什么区别的,它主要面向是搜索引擎机器人

1.6K10

如何让 Python 写 API 接口同时支持 Session 和 Token 认证?

但是 Django 在 Web 网页端功能实在是太好用了,以至于很多人舍不得放弃 Django 自带认证功能。...如果让 Django接口既支持 Token 认证,也能兼容 Django 自带 Session 认证呢?DRF 框架本身就提供了支持。...它一共提供了如下几种认证方案: BasicAuthentication(HTTP Basic 认证):用于根据用户名和密码进行 HTTP 基础身份认证。...TokenAuthentication(Token 认证):用于简单基于 Token 认证方案,这种方案适合于 CS 模式应用。...如果浏览器未登录状态下访问接口,会直接响应 403 Forbidden: ? 如果我们在浏览器登录状态下访问接口,会响应成功: ? 如果我们在接口中携带 Token 参数,也会响应成功: ?

2.5K20

你想要Python面试都在这里了【315+道题】

4、如何创建响应式布局? 5、你曾经使用过哪些前端框架? 6、什么是ajax请求?并使用jQuery和XMLHttpRequest对象实现一个ajax请求。 7、如何在前端实现轮训?...15、列举Http请求中常见请求方式? 16、列举Http请求中状态码? 17、列举Http请求中常见请求头? 18、看图写结果: ? 19、看图写结果: ? 20、看图写结果: ?...62、Http和Https区别? 63、为什么要使用django rest framework框架? 64、django rest framework框架中都有那些组件?...65、django rest framework框架中视图都可以继承哪些? 66、简述 django rest framework框架认证流程。...109、简述 RabbitMQ、Kafka、ZeroMQ区别? 110、RabbitMQ如何在消费者获取任务后未处理完前就挂掉时,保证数据不丢失? 111、RabbitMQ如何对消息做持久化?

4.5K20

Django-rest-framework 是个什么鬼?

当用户访问某个 URL 时,调用绑定视图函数进行处理。 编写视图函数逻辑。视图中通常涉及数据库操作。 在视图中渲染 HTML 模板,返回 HTTP 响应。...使用约定资源描述格式(例如 XML 或者 JSON)序列化资源并将数据返回给客户端(通过 HTTP 响应)。 对比发现,前两步几乎是完全相同。...有的同学就要问了,虽然 django 视图函数通常情况下返回 HTML 文档响应,但是 django 也支持返回 XML 格式或者 JSON 格式响应,那么为什么还要使用 django-rest-framework...django-rest-framework 是基于 django 拓展,专为 RESTful API 开发而设计,提供了十分丰富辅助和函数,帮助我们方便地开发 API。...客户端对资源操作通常是受限,有些资源只能由经过身份认证或具有相应权限用户才能操作,django-rest-framework 提供了丰富认证和鉴权,帮助我们对用户身份和权限进行校验。

98330

django框架菜鸟教程_django框架菜鸟教程

’, views.say, name=‘say’), ] reverse反解析 使用reverse函数,可以根据路由名称,返回具体路径,: from django.urls import reverse...2、响应 HttpResponse django.http.HttpResponse来构造响应对象 HttpResponse(content=响应体, content_type=响应体数据类型, status...=状态码) HttpResponse子类 Django提供了一系列HttpResponse子类,可以快速设置状态码 HttpResponseRedirect 301 HttpResponsePermanentRedirect...在URL配置中装饰 此种方法会为图中所有请求方法都加上装饰器行为,不建议使用 图中装饰 method_decorator装饰器使用name参数指明被装饰方法 # 为全部请求方法添加装饰器...Mixin扩展 2、中间件 Django中间件是一个轻量级、底层插件系统,可以介入Django请求和响应处理过程,修改Django输入或输出。

3K40
领券