Django喜欢的应用程序

django-ok-likes的Python项目详细描述


Build statusCode healthPython versionsRequirements StatusSoftware licensePyPI downloadsCode coverage

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

基本终结点
  1. /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

  2. /api/v1/likes/count/-api视图返回经过身份验证的用户的喜欢次数。

  3. /api/v1/likes/is/-api视图来检查给定的元素是否被经过身份验证的用户所喜欢。因此,您将得到一个ids列表。

    Possible payload:

    {"content_type":1,"ids":[1,2,3]}

    Possible result:

    {"ids":[1,3]}
  4. /api/v1/likes/toggle/-api视图的like不同于通过身份验证的用户指定的对象。

    Possible payload:

    {"content_type":1,"id":1}

    Possible result:

    {"is_liked":true}

过滤器

喜欢的次数

返回给定对象的喜欢次数:

{{object|likes_count}}

模板标签

你喜欢的人

返回喜欢给定对象的用户的QuerySet:

{%who_likedobjectasfans%}{%foruserinfans%}
    <div class="like">{{user.get_full_name}} likes {{object}}</div>
{%endfor%}

喜欢

为给定用户返回一组喜欢的内容:

{%likesrequest.userasuser_likes%}{%forlikeinuser_likes%}
    <div>{{like}}</div>
{%endfor%}

受欢迎

返回一个bool值,该值表示给定用户喜欢的给定对象:

{%is_likedobjectrequest.userasliked%}

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未锁定

一种信号,它在物体被打开后立即发出,并提供物体的单夸格信号。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用注释实现重试功能?   java如何使用Graph API获取未读消息?   可展开列表视图中的java单选按钮选择   java如何从其他类访问列表中的对象?   java以编程方式允许@RequestMapping   java框架太高?   java如何在jsp/jstl中使用选定值进行多重选择?   C服务器代码Java客户端代码TCP连接问题   java无法在单击时隐藏JButton。(JTable中的JButton)   添加新元素后,带有自定义CellRenderer的java Swing JList将消失   java如何修复:当我试图打印double的值时,它会输出roundeddown的值   类方法接受Java中不同对象的列表   java为什么受保护的实例成员在不同包的子类中不可见,而受保护的类成员却可见?   java如何从ModelNode结果中获取特定对象   java如何从JSON中删除所有键?   使用EclipseAST检查Java代码片段   java在字符串中查找大小写字母   java我遇到一个错误。(图像文件的Realpath)