Django(part8)--响应及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/发起请求:

网页找不到,响应码为404


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

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

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/106744783