简单的django应用程序,方便“喜欢”任何内容类型。

django-likeable的Python项目详细描述


添加“喜欢”功能,目的是便于扩展 (见django-nonrel) 当 促进喜欢。允许喜欢在 contenttypes框架。

请注意,此应用程序尚未按比例测试,但将在 不久的将来。同时,它只是在模型中添加了“喜欢”功能。

快速安装

  1. django-likeable应用程序添加到python路径。
  2. likeable添加到项目设置中的INSTALLED_APPS列表中。
  3. 创建您喜欢的模型:
from likeable import Likeable
from django.contrib.auth.models import User

class BlogEntry(Likeable):

    author = models.ForeignKey(User)
    content = models.TextField()
    created = models.DateTimeField(auto_now_add=True)

class BlogEntryComment(Likeable):

    entry = models.ForeignKey(BlogEntry)
    author = models.ForeignKey(User)
    content = models.TextField()
    created = models.DateTimeField(auto_now_add=True)

手动喜欢内容

您可以使用提供的Likeable.like函数自动喜欢 对象,例如:

from likeable import Like
from models import BlogEntry, BlogEntryComment
from django.contrib.auth.models import User

...

# harry posts a blog entry
harry = User.objects.create(username='harry')
blog_entry = BlogEntry.objects.create(author=harry, content="This is my first post.")

...

# sally likes the blog entry
sally = User.objects.create(username='sally')
blog_entry.like(sally)

通过提供的视图喜欢内容

确保项目的urls.py文件如下:

from django.conf.urls.defaults import patterns, include, url

urlpatterns = patterns('',

    # ...

    # add django-likeable's urls
    url(r'^like/', include('likeable.urls')),

    # ...
)

启用的URL

like/<content_type_id>/<object_id>

自动检测请求是否通过 一个普通的get请求或一个ajax请求,并按照以下两种方式进行处理 意见。

like/noajax/<content_type_id>/<object_id>

试图喜欢 内容类型id是<content_type_id>,主键是<object_id>(两者都是 正整数)。此函数自动尝试将用户重定向到 在喜欢给定对象后引用url。如果没有与给定条件匹配的对象 找到时,将生成一个http 404错误。

like/ajax/<content_type_id>/<object_id>

试图喜欢 内容类型id是<content_type_id>,主键是<object_id>(两者都是 正整数)。此函数返回格式为 {'success': true}成功时。如果没有与给定条件匹配的对象 找到时,将生成一个http 404错误。

包括其他电池

likeable.views.get_like_view_params(obj)

obj必须是使用contenttypes框架注册的任何对象。 成功时,此快捷函数将返回一个元组,该元组首先包含 内容类型id主键以及对象的主键,它可以 然后简单地传递给一个django-likeable视图。

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

推荐PyPI第三方库


热门话题
使用Selenium Java查找筛选器窗格“铅笔图标”的元素时出现问题   分布式缓存l2上使用infinispan和hibernate的java连接锁   使用Java的DOM XML API解析XML中的符号和   java是解析和操作字符串的有效方法   java发布NewRelicMeterRegistry时如何过滤仪表   多维数组在java中读取文件后将数据值分组   java如何将httpClient配置为jsoup   java BreakIterator在Android中是如何工作的?   找不到maven GAE类:原因:java。lang.ClassNotFoundException应用程序标识cRedential$AppenginecRedential包装   Jlabel调整java大小   调试如何在VScode中的java类依赖项中设置断点   java正在获取文件夹名,而不是。mp3文件{Android}   java如何将从DiffieHellman类生成的AES密钥添加到使用该密钥的类