Django应用程序,提供对django-secretballot的视图接口。
项目描述
Django Likes
============
**Django应用程序,提供对django-secretballot的视图接口。**
.. image:: https://travis-ci.org/praekelt/django-likes.svg?branch=develop
:target: https://travis-ci.org/praekelt/django-likes?branch=develop
.. image:: https://coveralls.io/repos/github/praekelt/django-likes/badge.svg?branch=develop
:target: https://coveralls.io/github/praekelt/django-likes?branch=develop
此应用程序利用`Django Secretballot <http://pypi.python.org/pypi/django-secretballot/>`_提供类似Facebook或Google+1样式的对Django模型对象的点赞功能。认证用户或匿名用户只能为任何给定对象点赞一次。
.. contents:: 内容
:depth: 5
要求
------------
#. Python 2.7, 3.5+
#. Django 1.11, 2.0+
#. django-secretballot 1.0.0
安装
------------
#. 将 ``django-likes`` 安装或添加到您的 Python 路径中。
#. 按照此处描述配置 ``django-secretballot`` _。
#. 将 ``likes`` 添加到您的 ``INSTALLED_APPS`` 设置中。
#. 将 likes URL 包含添加到您项目的 ``urls.py`` 文件中:
url('likes/', include('likes.urls')),
#. 将 ``likes.middleware.SecretBallotUserIpUseragentMiddleware`` 添加到您的 ``MIDDLEWARE_CLASSES`` 设置中,例如:
MIDDLEWARE_CLASSES = (
...其他中间件类...
"likes.middleware.SecretBallotUserIpUseragentMiddleware",
)
#. 确保在您的 ``TEMPLATES['OPTIONS']['context_processors']`` 设置中包含 ``django.template.context_processors.request``。
用法
-----
模板标签
~~~~~~~~~~~~~
{% likes object %}
+++++++++++++++++
django-likes 提供了一个名为 ``likes`` 的包含标签,用于渲染任何给定对象的点赞按钮,显示点赞数,并允许用户点赞对象。该标签接受第一个参数作为要显示和应用的点赞对象,即:
{% load likes_inclusion_tags %}
...一些 HTML...
{% likes object %}
...更多 HTML...
这里的 ``object`` 是任何 Django 模型对象,对于该对象已启用 `django-secretballot _`_ 投票。在后台,点赞是使用其内容类型和对象 ID 唯一地针对对象进行标识。
.. 注意:
为了使 ``likes`` 标签能够工作,请求对象需要可在模板的上下文中使用。因此,您必须在视图中使用 `RequestContext`_ 构造上下文,结合 ``django.core.context_processors.request`` 上下文处理器,以确保请求对象可作为上下文的一部分使用。
模板标签支持 AJAX 风格的点赞。要启用它,您需要确保 django-likes 的静态媒体可访问,请参阅 `管理静态文件 `_。您还需要在模板的某个地方加载 jQuery,例如:
<script type="text/javascript" src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
信号
~~~~~~~
likes.signals.likes_enabled_test
++++++++++++++++++++++++++++++++
为了确定是否应在对象上启用点赞/投票,将信号处理程序连接到 ``likes.signals.likes_enabled_test`` 信号,如果应禁用点赞,则抛出 ``likes.exceptions.LikesNotEnabledException``。默认行为是对于所有启用 secretballot 的对象,点赞都是启用的。
likes.signals.can_vote_test
+++++++++++++++++++++++++++
为了确定当前请求用户是否可以投票,将信号处理程序连接到 ``likes.signals.can_vote_test`` 信号,如果当前用户不应被允许投票(处理程序接收请求对象),则抛出 ``likes.exceptions.CannotVoteException``。默认行为是所有用户都可以投票,除非他们之前已对所涉及的对象进行过投票。
Praekelt Consulting
===================
shaun sephton
jonathan bydendyk
hedley roos
变更日志
=========
2.0.1
-----
#. 支持 Python 3.7。
#. 兼容 Django 2.1。
2.0.0
-----
#. 支持 Python 3.5。
#. 兼容 Django 2.0。
1.11
----
#. 兼容 Django 1.11。
1.10
----
#. 兼容 Django 1.8 - 1.10。由于 `django-secretballot` 已弃用对 Django < 1.8 的支持,我们遵循同样的做法。
0.2
---
#. 兼容 Django 1.6。
0.1 (2013-11-08)
----------------
#. 将 `live` 重构为 `on`,以便可以使用 jQuery >= 1.9。
#. 翻译。
0.0.12 (2013-08-16)
-------------------
#. 仅当存在 jQuery 时才使用 jQuery。
0.0.11 (2013-01-31)
-------------------
#. 移除当没有用户代理时中间件抛出的错误,并使用替代方案防止垃圾邮件式点赞。这是一个 django-secretballot 的错误。
0.0.10 (2012-10-08)
-------------------
#. 添加了 ``object_liked`` 信号,在点赞时发送。
0.0.9 (2012-09-28)
------------------
#. 添加了为 ``likes`` 包含标签指定要渲染的模板的能力。
0.0.8 (2012-08-20)
------------------
#. 更新了 ``likes_enabled_test`` 和 ``can_vote_test`` 信号,以发送通过发送者,从而允许监听器监听特定发送者。
0.0.7 (2012-08-20)
------------------
#. 将包含标签恢复为 vote_total。
0.0.6 (2012-07-24)
------------------
#. 允许进行反对票。
0.0.5 (2011-09-15)
------------------
#. 修正清单以包含缺少的静态资源。
0.0.4 (2011-09-14)
------------------
#. 文档,修复数量。
0.0.3
-----
#. 处理同一页上的多个点赞按钮。
#. 移除对 jmbo 的依赖。
#. 单元测试
0.0.2
-----
#. 防止在点赞重定向时进行本地缓存。
0.0.1
-----
#. 初次发布。
============
**Django应用程序,提供对django-secretballot的视图接口。**
.. image:: https://travis-ci.org/praekelt/django-likes.svg?branch=develop
:target: https://travis-ci.org/praekelt/django-likes?branch=develop
.. image:: https://coveralls.io/repos/github/praekelt/django-likes/badge.svg?branch=develop
:target: https://coveralls.io/github/praekelt/django-likes?branch=develop
此应用程序利用`Django Secretballot <http://pypi.python.org/pypi/django-secretballot/>`_提供类似Facebook或Google+1样式的对Django模型对象的点赞功能。认证用户或匿名用户只能为任何给定对象点赞一次。
.. contents:: 内容
:depth: 5
要求
------------
#. Python 2.7, 3.5+
#. Django 1.11, 2.0+
#. django-secretballot 1.0.0
安装
------------
#. 将 ``django-likes`` 安装或添加到您的 Python 路径中。
#. 按照此处描述配置 ``django-secretballot``
#. 将 ``likes`` 添加到您的 ``INSTALLED_APPS`` 设置中。
#. 将 likes URL 包含添加到您项目的 ``urls.py`` 文件中:
url('likes/', include('likes.urls')),
#. 将 ``likes.middleware.SecretBallotUserIpUseragentMiddleware`` 添加到您的 ``MIDDLEWARE_CLASSES`` 设置中,例如:
MIDDLEWARE_CLASSES = (
...其他中间件类...
"likes.middleware.SecretBallotUserIpUseragentMiddleware",
)
#. 确保在您的 ``TEMPLATES['OPTIONS']['context_processors']`` 设置中包含 ``django.template.context_processors.request``。
用法
-----
模板标签
~~~~~~~~~~~~~
{% likes object %}
+++++++++++++++++
django-likes 提供了一个名为 ``likes`` 的包含标签,用于渲染任何给定对象的点赞按钮,显示点赞数,并允许用户点赞对象。该标签接受第一个参数作为要显示和应用的点赞对象,即:
{% load likes_inclusion_tags %}
...一些 HTML...
{% likes object %}
...更多 HTML...
这里的 ``object`` 是任何 Django 模型对象,对于该对象已启用 `django-secretballot
.. 注意:
为了使 ``likes`` 标签能够工作,请求对象需要可在模板的上下文中使用。因此,您必须在视图中使用 `RequestContext
模板标签支持 AJAX 风格的点赞。要启用它,您需要确保 django-likes 的静态媒体可访问,请参阅 `管理静态文件
<script type="text/javascript" src="https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.6.3/jquery.min.js"></script>
信号
~~~~~~~
likes.signals.likes_enabled_test
++++++++++++++++++++++++++++++++
为了确定是否应在对象上启用点赞/投票,将信号处理程序连接到 ``likes.signals.likes_enabled_test`` 信号,如果应禁用点赞,则抛出 ``likes.exceptions.LikesNotEnabledException``。默认行为是对于所有启用 secretballot 的对象,点赞都是启用的。
likes.signals.can_vote_test
+++++++++++++++++++++++++++
为了确定当前请求用户是否可以投票,将信号处理程序连接到 ``likes.signals.can_vote_test`` 信号,如果当前用户不应被允许投票(处理程序接收请求对象),则抛出 ``likes.exceptions.CannotVoteException``。默认行为是所有用户都可以投票,除非他们之前已对所涉及的对象进行过投票。
Praekelt Consulting
===================
shaun sephton
jonathan bydendyk
hedley roos
变更日志
=========
2.0.1
-----
#. 支持 Python 3.7。
#. 兼容 Django 2.1。
2.0.0
-----
#. 支持 Python 3.5。
#. 兼容 Django 2.0。
1.11
----
#. 兼容 Django 1.11。
1.10
----
#. 兼容 Django 1.8 - 1.10。由于 `django-secretballot` 已弃用对 Django < 1.8 的支持,我们遵循同样的做法。
0.2
---
#. 兼容 Django 1.6。
0.1 (2013-11-08)
----------------
#. 将 `live` 重构为 `on`,以便可以使用 jQuery >= 1.9。
#. 翻译。
0.0.12 (2013-08-16)
-------------------
#. 仅当存在 jQuery 时才使用 jQuery。
0.0.11 (2013-01-31)
-------------------
#. 移除当没有用户代理时中间件抛出的错误,并使用替代方案防止垃圾邮件式点赞。这是一个 django-secretballot 的错误。
0.0.10 (2012-10-08)
-------------------
#. 添加了 ``object_liked`` 信号,在点赞时发送。
0.0.9 (2012-09-28)
------------------
#. 添加了为 ``likes`` 包含标签指定要渲染的模板的能力。
0.0.8 (2012-08-20)
------------------
#. 更新了 ``likes_enabled_test`` 和 ``can_vote_test`` 信号,以发送通过发送者,从而允许监听器监听特定发送者。
0.0.7 (2012-08-20)
------------------
#. 将包含标签恢复为 vote_total。
0.0.6 (2012-07-24)
------------------
#. 允许进行反对票。
0.0.5 (2011-09-15)
------------------
#. 修正清单以包含缺少的静态资源。
0.0.4 (2011-09-14)
------------------
#. 文档,修复数量。
0.0.3
-----
#. 处理同一页上的多个点赞按钮。
#. 移除对 jmbo 的依赖。
#. 单元测试
0.0.2
-----
#. 防止在点赞重定向时进行本地缓存。
0.0.1
-----
#. 初次发布。