首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Django之用户认证组件

authenticate(username='xxx',password='xxxx') #需要提供两个参数,username,password关键字参数 如果auth_user表中存在这个用户,会返回一个user对象...如果用户不存在,返回None   2,login(request,user) login(request,user)主要完成以下:把用户的id放入session表中的数据里 1,注入session信息:request.session...['user_id']=user.pk from django.contrib.auth import authenticate, login def my_view(request):...二、user对象   只要登录过的用户,访问任何视图的时候都可以使用request.user对象,这就是一个user对象,request.user.name就可以拿到用户的名字,request.user.email...除此之外,user对象还拥有以下方法:   1,user对象的is_authenticated()   如果session表里有你的登录记录,那返回值为True,可以用来验证用户是否登录过。

57430

Django(55)GenericAPIView源码分析

8个方法,接下来一个个分析 类属性 queryset = None serializer_class = None lookup_field = ‘pk’ lookup_url_kwarg = None...如果没什么逻辑,可以直接写在视图的类属性中,如果逻辑比较复杂,也可以重写get_queryset方法用来返回一个queryset对象。...也是可以通过直接设置这个属性,也可以通过重写get_serializer_class来实现。 lookup_field 在检索的时候,根据什么参数进行检索。默认是pk,也就是主键。...__name__ ) # 定义queryset属性,获取父类的queryset,如果父类没有定义类属性`queryset`,那么默认值就是None,就会报上面断言的错误...(query, many=many) # 如果数据对象queryset对象,many需要为True return APIResponse(results=serializer.data

36210

DRF框架(六)——view视图里面继承GenericAPIView

pk确定唯一操作对象 单操作就走get_object()方法(包括单查,单增等) 3)get_serializer():从类属性serializer_class中获得serializer的序列化类...= BookInfo.objects.all() 提供的关于数据库查询的属性与方法 1.get_queryset() 从类属性queryset中获得model的queryset数据 ,查询多个数据 2....get_object() 从类属性queryset中获得model的queryset数据,再通过有名分组pk来确定唯一操作对象。...获取序列化器对象 详情页视图使用:(也就是在详情的view里面的方法中,我们还可以定义以下两个属性) lookup_field 自定义主键 有名分组的查询,默认是’pk’ lookup_url_kwarg...()方法根据pk参数查找queryset中的数据对象 serializer = self.get_serializer(book) return Response(serializer.data

59930

Python进阶41-drf框架(三)

= kwargs.get('pk') ## 将单改群改的数据都格式化成pks=[需要修改的对象主键标识] | request_data = [每个要修改对象对应的的修改数据]...book_query, many=True) book_data = book_ser.data return APIResponse(results=book_data)  代码没有改变...总结: 1.get_queryset():从类属性queryset中获得model的queryset数据 2.get_object():从类属性queryset中获得model的queryset数据,...再通过有名分组pk确定唯一操作对象 当然也可以自定义主键的有名分组名称lookup_field = 'id' 3.get_serializer():从类属性serializer_class中获得serializer...():从类属性queryset中获得model的queryset数据 # 2)get_object():从类属性queryset中获得model的queryset数据,再通过有名分组pk确定唯一操作对象

50120

DRF二级视图GenericAPIView

列表视图与详情视图通用 queryset 应用于从此视图返回对象的查询集。通常,您必须设置此属性或覆盖该get_queryset()方法。...如果您要覆盖视图方法,请务必调用get_queryset()而不是直接访问此属性。 serializer_class 应该用于验证和反序列化输入以及序列化输出的序列化器类。...通常,您必须设置此属性或覆盖该get_serializer_class()方法。 详情视图使用 lookup_field 应该用于执行单个模型实例的对象查找的模型字段。默认为’pk’....方法 列表视图与详情视图通用 get_queryset(self) 返回视图使用的查询集,是列表视图与详情视图获取数据的基础,默认返回queryset属性,可以重写,例如: def get_queryset...详情视图使用 get_object(self) 返回详情视图所需的模型类数据对象,默认使用lookup_field参数来过滤queryset。 在视图中可以调用该方法获取详情信息的模型类对象

67010

drf之请求、响应、视图

注意: 该方法在提供序列化器对象的时候,会向序列化器对象的context属性补充三个数据:request、format、view,这三个数据对象可以在定义序列化器时使用。...-request 当前视图的请求对象 -view 当前请求的类视图对象 -format 当前请求期望返回的数据格式 提供的关于数据库查询的属性与方法 属性queryset  指明使用的数据查询集...方法: get_queryset(self) :返回视图使用的查询集,主要用来提供给Mixin扩展类使用,是列表视图与详情视图获取数据的基础,默认返回queryset属性,可以重写 get_object...要传queryset对象,查询了所有的图书 # serializer_class使用哪个序列化类来序列化这堆数据 queryset = Book.objects # queryset...**在ViewSet中,没有提供任何动作action方法,需要我们自己实现action方法。

2.1K20

Django内置的通用类视图及实例

方法: get_queryset():获取此视图的对象列表.必须是可迭代或者可以使查询集.默认返回queryset属性.可以通过重写该方法实现动态过滤.让这种方式能够工作的关键点,在于当类视图被调用时...属性: model: 视图要显示的模型 queryset: 表示对象的一个查询集.queryset的值优先于model的值. template_name: 字符串表示的模板名称. context_object_name...方法: get_queryset():返回用来获取本视图显示对象queryset.如果设置了queryset属性,get_queryset()默认返回它的值. get_object(queryset=...None):返回该视图要显示的单个对象.如果提供了queryset,该queryset将作为对象的查询源,否则,将使用get_queryset().get_object()从视图的所有参数中查找pk_url_kwarg...属性: tamplate_name: success_url: model: queryset: context_object_name: pk_url_kwarg: **方法:* get_object

2.9K40

Django Rest Framework

1)属性 基本属性queryset: 用于返回query对象集合,也可以使用get_queryset()方法。...lookup_field: 模型的字段应该用于执行对象查找个别的模型实例 lookup_url_kwarg:URL应该用于对象查找关键字参数 分页属性: pagination_class: 用于返回一个分页列表视图的分页类...ListModelMixin:提供list方法,列出queryset CreateModelMixin: 提供create方法,创建和保存一个Model对象 RetrieveModelMixin:提供retrieve...RetrieveModelMixin,UpdateModelMixin,DestroyModelMixi 5、视图集合ViewSets 允许将一组相关的逻辑视图在一个类,ViewSet类是一个简单类型的基于类的观点,没有提供任何方法处理程序如...=None): pass 可以通过访问^users/{pk}/set_password/$来访问改视图 ViewSets的API参考 .ViewSet: 继承了APIView,可以使用一些标准的属性例如

2.3K60
领券