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

django 1.8 官方文档翻译: 3-1-2 编写视图

网站:http://python.usyiyi.cn/django/index.html 编写视图 一个视图函数,或者简短来说叫做视图,是一个简单的Python函数,它接受web请求,并且返回web...响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片… 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。...返回错误 在Django中返回HTTP错误是相当容易的。有一些HttpResponse的子类代表不是200(“OK”)的HTTP状态码。...,所以不是每个状态码都有一个特化的子类。...然而,如HttpResponse文档中所说的那样,你也可以向HttpResponse的构造器传递HTTP状态码,来创建你想要的任何状态码的返回类。

56130

HTTP 状态码1 状态码告知从服务器端返回的请求结果2 2XX 成功3 3XX 重定向4 4XX 客户端错误5 5XX 服务器错误

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。让我们通过本文的学习,好好了解一下状态码的工作机制。...1 状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。 借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。...这里写图片描述 表示从客户端发来的请求在服务器端被正常处理了。 在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。...比如,用户把 URI 保存成书签,但不会像 301 状态码出现时那样去更新书签,而是仍旧保留返回 302 状态码的页面对应的 URI 4 4XX 客户端错误 4XX 的响应结果表明客户端是发生错误的原因所在...4.1 400 Bad Request ? 这里写图片描述 该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。

2.8K71
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Django】 Python Web 框架基础

    当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。 HTTP状态码的英文为HTTP Status Code。...下面是常见的HTTP状态码: 200 - 请求成功 301 - 永久重定向-资源(网页等)被永久转移到其它URL 302 - 临时重定向 404 - 请求的资源(网页等)不存在 500 - 内部服务器错误...HTTP状态码共分为5种类型: image.png Django中的响应对象HttpResponse: 构造函数格式: HttpResponse(content=响应体, content_type=...响应体数据类型, status=状态码) 作用: 向客户端浏览器返回响应,同时携带响应体内容 参数: content:表示返回的内容。...status_code:返回的HTTP响应状态码(默认为200)。 content_type:指定返回数据的的MIME类型(默认为"text/html")。浏览器会根据这个属性,来显示数据。

    2.1K20

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    API 不需要1xx状态码,下面介绍其他四类状态码的精确含义。       2.7.2 2xx状态码 200状态码表示操作成功,但是不同的方法可以返回更精确的状态码。...301 状态码(永久重定向)302 状态码(暂时重定向,307也是这个含义) 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作...GET /orders/2 HTTP/1.1 Accept: application/json       2.8.2 发生错误时的响应         发生错误时不要响应200状态码,有一种不恰当的做法是...,即使发生错误,也返回200状态码,把错误信息放在数据体里面,就像下面这样。...这张做法实际上取消了状态码,这是完全不可取的。正确的做法是,状态码反映发生的错误,具体的错误信息放在数据体里面返回。下面是一个例子。

    2.5K20

    FastAPI 学习之路(十五)响应状态码

    正文 我们可以规定对应请求的状态码,那么我们应该如何来实现。...接口可以正常请求,状态码返回的也是我们定义的201。 在接口文档上也可以正常展示我们成功的状态码 对于http的状态码,每个数字代表不一样的含义。...100 及以上状态码用于「消息」响应。你很少直接使用它们。具有这些状态代码的响应不能带有响应体。 200 及以上状态码用于「成功」响应。这些是你最常使用的。...400 及以上状态码用于「客户端错误」响应。这些可能是你第二常使用的类型。 一个例子是 404,用于「未找到」响应。 对于来自客户端的一般错误,你可以只使用 400。...500 及以上状态码用于服务器端错误。你几乎永远不会直接使用它们。当你的应用程序代码或服务器中的某些部分出现问题时,它将自动返回这些状态代码之一。

    1K60

    django 1.8 官方文档翻译: 3-2-1 内建的视图

    错误视图 Django 原生自带几个默认视图用于处理HTTP 错误。若要使用你自定义的视图覆盖它们,请参见自定义错误视图。...如果一个视图导致异常,Django 默认情况下将调用django.views.defaults.server_error 视图,它产生一个非常简单的“Server Error” 消息或者渲染500.html...(request, template_name=’400.html’) 当Django 中引发一个SuspiciousOperation 时,它可能通过Django 的一个组件处理(例如重设会话的数据)...如果没有特殊处理,Django 将认为当前的请求时一个’bad request’ 而不是一个server error。...django.views.defaults.bad_request 和server_error 视图非常相似,除了返回400 状态码来表示错误来自客户端的操作。

    1.1K10

    http状态码一览表

    中使用的代码,现行版本中不再使用 307——申明请求的资源临时性删除 400——错误请求,如语法错误 401——请求授权失败 402——保留有效ChargeTo头响应 403——请求不允许 404——...400-499 用于指出客户端的错误。 500-599 用于支持服务器错误。 HttpServletResponse 中的常量代表关联不同标准消息的状态码。...307状态被加入到 HTTP 1.1中是由于许多浏览器在收到302响应时即使是原始消息为POST的情况下仍然执行了错误的转向。只有在收到303响应时才假定浏览器会在POST请 求时重定向。...400 (Bad Request/错误请求) 400 (SC_BAD_REQUEST)指出客户端请求中的语法错误。...代理服务器返回一个Proxy-Authenticate响应头信息给客户端,这会引起客户端使用带有Proxy- Authorization请求的头信息重新连接。

    1.4K70

    Django的请求与响应

    请求与响应 请求是指浏览器通过HTTP协议发送给服务端的数据 响应指的是服务端收到响应后做相应处理后再返回给浏览器 请求样例 GET /user/api/qoqa HTTP/1.1 ---> 起始行...HEAD 类似于GET请求,只不过返回的响应中没有具体内容,只返回响应头。 POST 向指定资源提交数据进行处理请求,数据被包含在请求体中。 PUT 从客户端向服务器发送的数据取代指定文档中的内容。...: 请求中的元数据(消息头) request.META['REMOTE_ADDR']可以请求到客户端地址,当然你可以请求META中的任何信息....… Django中的响应对象 构造函数格式: HttpResponse(content=响应体,content_type=响应体数据类型,statue=状态码) Content-Type类型如下 '...304 HttpResponseBadRequest 错误请求 400 HttpResponseNotFound 没有对应资源 404 HttpResponseForbidden 请求被禁止 403 HttpResponseServerError

    61510

    从0到1,Flask全网最全教学!全文1w字,蓝图、会话、日志、部署等使用Flask搭建中小型企业级项目

    若返回字符串,Flask将其转换为响应体,附带200 OK状态码和text/html内容类型。若返回字典或列表,Flask自动调用jsonify(),生成JSON格式的响应。...('这是一个错误日志')4、错误处理器Flask通过HTTP状态码区分错误类型:400-499表示客户端错误,500-599表示服务器错误。...开发者可以通过注册错误处理器来自定义错误页面,这些处理器函数在特定错误发生时被调用,并返回个性化的响应。错误处理器接收一个HTTPException实例,但返回的响应状态码需手动设置。...记得当返回响应的时候设置的状态码。...) # 没有获取到username直接返回400状态码的,错误处理页面​ user = get_user(username=username) if user is None:

    3.7K11

    django 1.8 官方文档翻译:13-3 日志

    django django 是一个捕获所有信息的logger。消息不会直接提交给这个logger。 django.request 记录与处理请求相关的消息。...5XX 响应作为ERROR 消息;4XX 响应作为WARNING 消息。 这个logger 的消息具有以下额外的上下文: status_code:请求的HTTP 响应码。...例如,如果请求中包含的HTTP Host 头部与ALLOWED_HOSTS 不匹配,Django 将返回400 响应,同时将记录一个error 消息到django.security.DisallowedHost...由于SuspiciousOperation 导致400 响应的请求不会在django.request logger 中记录日志,而只在django.security logger 中记录日志。...此时可以考虑使用类似Sentry 这样的东西,回溯栈的完整信息和安全信息不会 通过邮件发送。你还可以从错误报告中显式过滤掉特定的敏感信息 —— 更多信息参见过滤错误报告。

    80910

    Django实战-信息资讯-Ajax 实现注册

    在使用 ajax 进行请求注册前,需要定义数据格式,通过 json 进行数据通信。而对于不同请求返回后的参数不同,需要单独定义请求时,需要返回的数据格式。...① 定义请求返回数据 不管是 POST 请求,还是 GET 请求,通过 ajax 返回的都需要是 json 数据格式。...定义请求状态码 200 成功处理了请求 400 服务器不理解请求的语法 401 请求要求身份验证 405 禁用请求中指定的方法 500 (服务器内部错误) 服务器遇到错误,无法完成请求...servererror = 500 封装请求返回的数据格式 json_dict = {"code":code,"message":message,"data":data} code 请求状态码 message...后端返回的消息 data 后端定义的数据 def result(code=HttpCode.ok,message="",data=None,kwargs=None): json_dict

    1.2K20

    Django Rest Framewor

    什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” REST从资源的角度类审视整个网络...animal_type_id=1:指定筛选条件 状态码 ? ? 200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。...更多看这里:http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 状态码 错误处理,状态码是4xx时,应返回错误信息,error当做

    1.3K20

    常用 HTTP 状态码

    同时新增的资源会在应答消息体中返回,其地址或者是原始请求的路径,或者是 Location 首部的值。这个状态码的常规使用场景是作为 POST 请求的返回值。...在重定向过程中,请求方法和消息主体不会发生改变,然而在返回 301 状态码的情况下,请求方法有时候会被客户端错误地修改为 GET 方法。...400 Bad Request​超文本传输协议(HTTP)400 Bad Request 响应状态码表示服务器因某些被认为是客户端错误的原因(例如,请求语法错误、无效请求消息格式或者欺骗性请求路由),而无法或不会处理该请求...如果服务器返回了这个错误状态码,那么消息体中应该包含所能提供的资源表现形式的列表,允许用户手动进行选择。...这时候,请求的操作——通常是上传或修改文件——无法执行,从而返回该错误状态码。

    15410

    Node.js 基础知识:没有依赖关系的 Web 服务器

    204:成功码,但是没有响应返回。例如,在移除一个实体后的状态码。 3xx – 重定向码 301:永久迁移,返回信息中有新的 URL。 302:临时迁移,但是有另一个新 URL。...5xx – 服务器错误码 500:服务器内部错误,例如数据库连接错误。 这些错误码是最常见的类型,并且足够让你为请求匹配正确的状态码。...,你将会看到『状态码:204 我的自定义消息』。...name=Seva 的请求将会返回带有我们标识名的字符串: 你的请求参数名带有值 Seva 请求体内容 我们最后要看的是请求体内容。...让我们写一个简单的服务程序,这个程序期望从 POST 请求中获取一个 JSON 对象,并且当获取的并非有效 JSON 时将返回 400 状态码。

    1.4K30

    DRF对Django请求响应做了技术升级

    Django视图是用来处理请求和响应的,Django默认是按Form和Template来设计的,如果要处理以JSON格式为主的RESTful API,那么就需要对Django请求和响应的处理代码进行优化改造...charset) if not ret: del self['Content-Type'] return ret Status codes 如果在代码中直接写数字形式的状态码如...我列一些常见的状态码标识符: HTTP_200_OK = 200 HTTP_201_CREATED = 201 HTTP_204_NO_CONTENT = 204 HTTP_400_BAD_REQUEST...500 HTTP_502_BAD_GATEWAY = 502 HTTP_503_SERVICE_UNAVAILABLE = 503 HTTP_504_GATEWAY_TIMEOUT = 504 全部的状态码标识符可以在...它们提供了一些新功能,比如: 检查请求是Request对象 添加上下文到Response对象 返回请求错误如405 Method Not Allowed 当request.data格式有误时,抛出ParseError

    93120

    小姐姐,我有一份tcp、http面试指南你要吗?

    状态码就那些,常用的记住就行了: 2XX 成功 200 OK,表示从客户端发来的请求在服务器端被正确处理 204 No content,表示请求成功,但响应报文不含实体的主体部分 206 Partial...redirect,临时重定向,和302含义相同 4XX 客户端错误 400 bad request,请求报文存在语法错误 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息...如果没有Content-Length字段说明没有消息体,譬如GET请求就是没有消息体的,POST请求的消息体一般用来放置表单数据。GET请求的响应返回的页面内容也是放在消息体里面的。...我们平时调用API返回的JSON内容都是放在消息体里面的。 HTTP的无状态性? 所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性。...服务器返回一个 HTTP 响应 浏览器显示 HTML 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等) .

    55210

    小哥哥,小姐姐,我有一份tcp、http面试指南你要吗?

    状态码就那些,常用的记住就行了: 2XX 成功 200 OK,表示从客户端发来的请求在服务器端被正确处理 204 No content,表示请求成功,但响应报文不含实体的主体部分 206 Partial...redirect,临时重定向,和302含义相同 4XX 客户端错误 400 bad request,请求报文存在语法错误 401 unauthorized,表示发送的请求需要有通过 HTTP 认证的认证信息...如果没有Content-Length字段说明没有消息体,譬如GET请求就是没有消息体的,POST请求的消息体一般用来放置表单数据。GET请求的响应返回的页面内容也是放在消息体里面的。...我们平时调用API返回的JSON内容都是放在消息体里面的。 HTTP的无状态性? 所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性。...服务器返回一个 HTTP 响应 浏览器显示 HTML 浏览器发送请求获取嵌入在 HTML 中的资源(如图片、音频、视频、CSS、JS等等) .

    48540

    38. 一份tcp、http面试指南,常考点都给你了

    ,但是不排除有人会去问,还是要知道的:超文本传输协议(HyperText Transfer Protocol) 状态码 状态码就那些,常用的记住就行了: 2XX 成功 200 OK,表示从客户端发来的请求在服务器端被正确处理...HTTP协议格式 HTTP的请求和响应的消息协议是一样的,分为三个部分,起始行、消息头和消息体。...如果没有Content-Length字段说明没有消息体,譬如GET请求就是没有消息体的,POST请求的消息体一般用来放置表单数据。GET请求的响应返回的页面内容也是放在消息体里面的。...我们平时调用API返回的JSON内容都是放在消息体里面的。 HTTP的无状态性 所谓HTTP协议的无状态性是指服务器的协议层无需为不同的请求之间建立任何相关关系,它特指的是协议层的无状态性。...(从 http://example.com 到 http://www.example.com) 浏览器跟踪重定向地址 服务器处理请求 服务器返回一个 HTTP 响应 浏览器显示 HTML 浏览器发送请求获取嵌入在

    11410

    RESTful API 最佳实践

    如果输入的HTTP请求包含IF-NONE-MATCH头以及一个ETag值,那么API应该返回304 not modified状态码,而不是常规的输出结果。...错误的表现形式应该跟其他资源保持一致,只是用一些自己的字段。 API应该一直返回合理的HTTP状态码。API错误一般情况下分成两类:代表客户端错误的400系列状态码和代表服务端错误的500系列状态码。...API至少把所有400系列错误统一用易读的JSON格式来展示。如果可能(比如,如果负载均衡和反向代理能够创建自定义错误内容的话),500系列的状态码也这么弄。...这些状态码可以帮助API消费者用来路由它们获取到的响应内容。整理了一个你肯定会用到的状态码列表: 200 OK – 对成功的GET、PUT、PATCH或DELETE操作进行响应。...这么做的好处是可以通过浏览器访问 – 如果浏览器从服务器收到401 Unauthorized状态码,它将会弹出一个对话框让人输出认证凭证。

    1.9K31
    领券