国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

基于Django contrib Comments 評論模塊(詳解)

2020-02-16 10:59:21
字體:
來源:轉載
供稿:網友

老版本的Django中自帶一個評論框架。但是從1.6版本后,該框架獨立出去了,也就是本文的評論插件。

這個插件可給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 %}

1.1.1 評論對象

有兩種辦法:

1、直接引用評論對象。假設你的模板里已經有了一個叫做entry的評論對象,那么可以使用下面的方法獲得該對象的評論次數:

{% get_comment_count for entry as comment_count %}

2、使用對象的類型和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="c{{ comment.id }}"></a>  <a href="{% get_comment_permalink comment %}">    permalink for comment #{{ forloop.counter }}  </a>  ...{% endfor %}

這塊內容在使用safari瀏覽器的時候可能有個bug。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河南省| 平和县| 铜鼓县| 沐川县| 山阴县| 宁阳县| 中牟县| 西安市| 鱼台县| 赣州市| 江华| 高平市| 铁岭县| 休宁县| 沅陵县| 乳山市| 广西| 上思县| 沿河| 泸溪县| 绥化市| 石嘴山市| 江口县| 方山县| 临高县| 东乡族自治县| 汉沽区| 长泰县| 大同县| 青冈县| 陵川县| 深水埗区| 合阳县| 陆良县| 兴业县| 高雄市| 陈巴尔虎旗| 玛曲县| 蓝田县| 那坡县| 诸城市|