zoukankan      html  css  js  c++  java
  • Django请求响应对象

    请求与响应对象

    HttpRequest

    HttpRequest存储了客户请求的相关参数和一些查询方法。

    • path

    请求页面的全路径,不包括域名—例如, "/hello/"。

    • method

    Http请求方法,包括'GET','POST'。

    • GET

    QueryDict类实例,包含所有HTTP GET参数的字典对象。

    • POST

    QueryDict类实例,包含所有HTTP POST参数的字典对象。

    • REQUEST

    为了方便,该属性是POST和GET属性的集合。

    • COOKIES

    包含所有Cookies的标准Python字典对象,Keys和Values都是字符串。

    HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)

    返回签名过的Cookie 对应的值,如果签名不再合法则返回django.core.signing.BadSignature。如果提供default 参数,将不会引发异常并返回default 的值。

    可选参数salt可以用来对安全密钥强力攻击提供额外的保护。
    max_age参数用于检查Cookie 对应的时间戳以确保Cookie 的时间不会超过max_age秒。

    HttpRequest.session.set_test_cookie() 设置测试cookie,检验客户端是否支持cookie
    HttpRequest.session.test_cookie_worked() 检测测试cookie,客户端支持时返回True。

    set_test_cookie的同一次请求-响应中test_cookie_worked的结果是不可靠的。

    • FILES

    包含所有上传文件的类字典对象。

    FILES中的每个Key都是<input type="file" name="" />标签中name属性的值,FILES中的每个value 同时也是一个标准Python字典对象,包含3个Key:

    "filename"

    "content-type"

    "content"

    • META

    包含所有可用HTTP头信息的字典,其中的Key包括:

    HTTP_ACCEPT_ENCODING

    HTTP_ACCEPT_LANGUAGE

    HTTP_HOST: 客户发送的HTTP主机头信息

    HTTP_REFERER: referring页

    HTTP_USER_AGENT: 客户端的user-agent字符串

    HTTP_X_BENDER: X-Bender头信息

    • session

    可读写的session对象

    • raw_post_data

    原始的POST数据

    • 其它

    HttpRequest.is_secure()请求是否由Https协议发起

    HttpRequest.is_ajax() 请求是否由Ajax协议发起

    QueryDict

    HttpRequest中的GET和POST属性都是django.http.QueryDict类的实例,它是dict派生类。提供了对一键多值的支持和相关操作方法。

    HttpResponse

    • content

    HttpResponsee.content是存储响应内容的字符串,

    • item

    HttpResponse.__setitem__(header, value) 设置响应头属性

    HttpResponse.__delitem__(header) 删除响应头属性

    HttpResponse.__getitem__(header) 访问响应头属性

    HttpResponse.has_header(header) 检查是否存在响应头属性

    • cookie

    HttpResponse.set_cookie(key, value='', max_age=None, expires=None, path='/', domain=None, secure=None, httponly=False) 设置cookie

    HttpResponse.delete_cookie(key, path='/', domain=None) 删除cookie

    HttpResponse.set_signed_cookie(key, value, salt='', max_age=None, expires=None, path='/', domain=None, secure=None, httponly=True) 使用带有密钥签名的数据

    JsonResponse

    JsonResponse是HttpResponse的子类,用于生成一个Json格式而非html/xml的响应。

    JsonResponse.__init__(data, encoder=DjangoJSONEncoder, safe=True, **kwargs)

    在safe参数为True时,只接受dict对象作为参数,并将Dict作为Json字符串;在safe=False时使用ncoder=django.core.serializers.json.DjangoJSONEncoder参数指定的encoder。

    from django.http import JsonResponse
    
    def test_json(request):
    	response = JsonResponse({'foo': 'bar'})
    	return response
    

    TemplateResponse

  • 相关阅读:
    Excel两列查找重复值
    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原
    Ubuntu 搭建 GitLab 笔记 ***
    JIRA使用
    Android.mk文件LOCAL_MODULE_TAGS 说明
    Git Reset 三种模式
    Android常用的编译命令
    Android源码编译
    AOSP---"Android Open-Source Project"
    理解 Android Build 系统
  • 原文地址:https://www.cnblogs.com/Finley/p/5255607.html
Copyright © 2011-2022 走看看