Rest-framework专栏讲解(五):Request

2020-06-16 00:00:00 的是 返回 方式 属性 验证


点击跳转到 Rest-Framework 专栏目录

框架的 request 给予了很标准的属性, 并拓展了标准 HTTPRequest 对象, 你会在开发中很方便的使用它。

.data

request.data 中你可以很方便的获取客户端传递给你的 json 数据或者表单提交, 不需要像 request.POST.get() 一样很麻烦的操作, 并且能解析文件传输。

def update(self, request, *args, **kwargs):
    if request.data.get('params') == True:
        ...
复制代码

.query_params

GET 请求中, query_params 的命名方式才更加凸显传参的方式, 当然, request.query_params.get('params')request.GET.get('params') 是等价的。

.user

在你已认证的情况下, 访问该属性得到的是你用户模型的一个实例对象, 你可以通过 request.user.id 的方式获取用户 ID 属性, 但在未验证, 或者未通过验证的情况下该属性返回的是 django.contrib.auth.models.AnonymousUser 的一个实例对象。

.auth

这个属性在验证通过的情况下返回的是验证用户的令牌实例, 否则则是 None, 他的值取决于身份验证的策略。

.method

该属性能返回请求方式的大写字符串, 如 GET

在请求中, 如果不需要重写框架的方法, 或者实现自定义返回数据、校验等, 这些属性一般是不会被使用到的。

相关文章