这个插件可给models附加评论,因此常被用于为博客文章、图片、书籍章节或其它任何东西添加评论。
一、快速入门快速使用步骤:
安装包:pip install django-contrib-comments
在django的settings中的INSTALLED_APPS处添加'django.contrib.sites'进行app注册,并设置SITE_ID值。
在django的settings中的INSTALLED_APPS处添加'django_comments'.
运行manage.py migrate创建评论数据表。
在项目的根urls.py文件中添加URLs:url(r'^comments/', include('django_comments.urls')),
使用comment的模板标签,将评论嵌入到你的模板中。
1.1 comment模板标签使用前请load标签:
{% load comments %}
有两种办法:
直接引用评论对象。假设你的模板里已经有了一个叫做entry的评论对象,那么可以使用下面的方法获得该对象的评论次数:{% get_comment_count for entry as comment_count %}
使用对象的类型和id进行引用。比如,你知道一个blog的entry的id为14,那么可以这么做:{% get_comment_count for blog.entry 14 as comment_count %}
1.1.2 展示评论使用render_comment_list或者get_comment_list 标签展示评论。
快速展示评论:
{% render_comment_list for [object] %}
这会使用插件里的comments/list.html模板来生成评论的html代码。
自定义展示评论:
{% get_comment_list for [object] as [varname] %}
实例:
{% get_comment_list for event as comment_list %}
{% for comment in comment_list %}
...
{% endfor %}
这种方式下,你可以自己控制comment的展示方式,例如添加css,js,结合bootstrap。
1.1.3 为评论添加超级链接使用get_comment_permalink标签为评论添加永久的超级链接。
用法:
{% get_comment_permalink comment_obj [format_string] %}
默认情况下,url中的命名锚以字母“c”加评论id组成。例如: ‘c82’。当然,也可以通过下面的方式自定义:
{% get_comment_permalink comment "#c%(id)s-by-%(user_name)s"%}
使用的是python标准格式化字符串的方式。
不管你是否自定义也好,你都必须在模板的合适位置提供一个匹配命名锚的机制。例如:
{% for comment in comment_list %} <a name=http://www.likecs.com/"c{{ comment.id }}"></a> <a href=http://www.likecs.com/"{% get_comment_permalink comment %}"> permalink for comment #{{ forloop.counter }} </a> ... {% endfor %}