当前位置 : 主页 > 编程语言 > python >

Django(part8)--响应及HttpResponse对象

来源:互联网 收集:自由互联 发布时间:2022-06-15
学习笔记,仅供参考 文章目录 ​​响应​​ ​​HTTP响应​​ ​​HTTP状态码​​ ​​常见的HTTP状态码​​ ​​HTTP状态码分类​​ ​​Django中的响应对象HttpResponse​​ ​​其它Htt

学习笔记,仅供参考



文章目录

  • ​​响应​​
  • ​​HTTP响应​​
  • ​​HTTP状态码​​
  • ​​常见的HTTP状态码​​
  • ​​HTTP状态码分类​​
  • ​​Django中的响应对象HttpResponse​​
  • ​​其它HttpResponse响应对象​​
  • ​​举个例子​​



响应



HTTP响应



当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header),用以响应浏览器的请求。



HTTP状态码



HTTP状态码的英文为HTTP Status Code



常见的HTTP状态码



  • 下面是常见的HTTP状态码
  • 200一请求成功
  • 301一资源(网页等)被永久转移到其它U RL
  • 404一请求的资源(网页等)不存在
  • 500一内部服务器错误


HTTP状态码分类



HTTP状态码由3个十进制数字组成,第1个十进制数字定义了状态码的类型,后2
个数字没有分类的作用,HTTP状态码共分为5种类型:

分类

分类描述

1##

服务器收到请求,需要请求者继续执行操作

2##

成功,操作被成功接收并处理

3##

重定向,服务器需要进一步的操作以完成请求

4##

客户端错误,请求包含语法错误或无法完成请求

5##

服务器错误,服务器在处理请求的过程中发生了错误


Django中的响应对象HttpResponse



  • 构造函数格式
HttpResponse(content = 响应体, content_type = 响应体数据类型, status = 状态码)



  • 作用

向客户端浏览器返回响应,同时携带响应体内容



  • 参数
  • content:表示返回的内容。
  • status_code:返回的HTTP响应状态码。
  • content_type:指定返回数据的的MIME(多用途互联网邮件扩展类型。)类型(默认为​​text/html​​​),浏览器会根据这个属性,来显示数据。如果是​​text/html​​​,那么就会解析这个字符串,如果​​text/plain​​,那么就会显示一个纯文本。
  • 常用的content_type如下:
  • ​​text/html​​(默认的,html文件)
  • ​​text/plain​​(纯文本)
  • ​​text/css​​(css文件)
  • ​​text/javascript​​(js文件)
  • ​​multipart/form-data​​(文件提交)
  • ​​application/json​​ (json传输)
  • ​​application/xml​​(xml文件)


其它HttpResponse响应对象



响应对象

含义

状态码

HttpResponseRedirect

重定向

301

HttpResponseNotModified

未修改

304

HttpResponseBadRequest

错误请求

400

HttpResponseNotFound

没有对应的资源

404

HttpResponseForbidden

请求被禁止

403

HttpResponseServerError

服务器错误

500


举个例子



views.py

def page_test01(request):
return HttpResponseNotFound("网页找不到啦...")

def page_test02(request):
return HttpResponseRedirect("http://www.baidu.com/")



urls.py

urlpatterns = [
path('admin/', admin.site.urls),
re_path(r'test1/', views.page_test01),
re_path(r'test2/', views.page_test02),

]



向http://127.0.0.1:8000/test1/发起请求:

Django(part8)--响应及HttpResponse对象_状态码

网页找不到,响应码为404



向http://127.0.0.1:8000/test2/发起请求:

Django(part8)--响应及HttpResponse对象_响应_02

服务器重定向到百度https://www.baidu.com/

Django(part8)--响应及HttpResponse对象_状态码_03

上一篇:Django(part10)--POST请求
下一篇:没有了
网友评论