Django喜欢的应用程序
django-ok-likes的Python项目详细描述
django-ok-likes是django的一个喜欢的应用程序,它允许用户“喜欢”和“不喜欢”任何模型实例。所有功能都通过django-rest-frameworkapi视图提供。模板标记和jinja的全局函数提供了查看谁喜欢对象、当前用户喜欢哪些对象以及给定对象的喜欢次数的功能。
安装
使用pip安装:
pip install django-ok-likes
更新已安装的应用程序:
INSTALLED_APPS=[...'likes','rest_framework',...]
进行迁移:
python manage.py migrate
将likes.api.urls添加到项目urlpatterns:
urlpatterns=[...path('api/v1/',include('likes.api.urls')),...]
可用设置
在您的设置文件中添加您想要喜欢的模型:
LIKES_MODELS={"app.Model":{'serializer':'app.api.serializer.YourModelSerializer'},}
您可以为listapiview设置任何分页类:
LIKES_REST_PAGINATION_CLASS='core.api.pagination.MyResponsePagination'
用法
api
基本终结点
/api/v1/likes/list/-list api视图,返回经过身份验证的用户的所有喜好。
You can set ^{tt4}$ for each model in ^{tt5}$ setting to use it for content object serialization, otherwise, you will get an id of content object.
For example:
LIKE_MODELS={"article.Article":{'serializer':'article.api.serializers.ArticleSerializer'},}
Use ^{tt6}$ parameter ^{tt7}$ to filter by a content type’s model:
/api/v1/likes/list/?search=article
/api/v1/likes/count/-api视图返回经过身份验证的用户的喜欢次数。
/api/v1/likes/is/-api视图来检查给定的元素是否被经过身份验证的用户所喜欢。因此,您将得到一个ids列表。
Possible payload:
{"content_type":1,"ids":[1,2,3]}
Possible result:
{"ids":[1,3]}
/api/v1/likes/toggle/-api视图的like不同于通过身份验证的用户指定的对象。
Possible payload:
{"content_type":1,"id":1}
Possible result:
{"is_liked":true}
/api/v1/likes/list/-list api视图,返回经过身份验证的用户的所有喜好。
You can set ^{tt4}$ for each model in ^{tt5}$ setting to use it for content object serialization, otherwise, you will get an id of content object.
For example:
LIKE_MODELS={"article.Article":{'serializer':'article.api.serializers.ArticleSerializer'},}Use ^{tt6}$ parameter ^{tt7}$ to filter by a content type’s model: /api/v1/likes/list/?search=article
/api/v1/likes/count/-api视图返回经过身份验证的用户的喜欢次数。
/api/v1/likes/is/-api视图来检查给定的元素是否被经过身份验证的用户所喜欢。因此,您将得到一个ids列表。
Possible payload:
{"content_type":1,"ids":[1,2,3]}Possible result:
{"ids":[1,3]}
/api/v1/likes/toggle/-api视图的like不同于通过身份验证的用户指定的对象。
Possible payload:
{"content_type":1,"id":1}Possible result:
{"is_liked":true}
过滤器
喜欢的次数
返回给定对象的喜欢次数:
{{object|likes_count}}
Jinja全局函数
获得喜欢的次数
与likes_count筛选器相同。
用法:
{{get_likes_count(object)}}
找到你喜欢的人
与who_liked标记相同。
用法:
{{get_who_liked(object)}}
获得喜爱
与likes标记相同。
用法:
{{get_likes(request.user)}}
喜欢get\u
与is_liked标记相同。
用法:
{{get_is_liked(object,request.user)}}
信号
喜欢。信号。喜欢的对象
一种信号,它在对象被喜欢后立即发出,并提供创建的类实例的单个Kwarg。
likes.signals.object\u未锁定
一种信号,它在物体被打开后立即发出,并提供物体的单夸格信号。