在开始之前,请注意,自1.5版本以来,不推荐使用Django Comments框架.现在您可以使用外部功能,但如果您仍想使用它,它仍然包含在1.6和1.7版本中.从版本1.8开始它没有,但您仍然可以在不同的GitHub帐户上获取代码.
评论框架可以轻松地将评论附加到您应用中的任何模型.
开始使用Django评论框架 :
编辑项目settings.py文件并添加'django.contrib.sites',和'django.contrib.comments',到INSTALLED_APPS选项 :
INSTALLED_APPS += ('django.contrib.sites', 'django.contrib.comments',)
获取网站ID :
>>> from django.contrib.sites.models import Site>>> Site().save()>>> Site.objects.all()[0].idu'56194498e13823167dd43c64'
设置你在settings.py文件中获得的id : ;
SITE_ID = u'56194498e13823167dd43c64'
同步数据库,到创建所有注释表或集合 :
python manage.py syncdb
将评论应用的网址添加到您的项目的urls.py :
from django.conf.urls import includeurl(r'^comments/', include('django.contrib.comments.urls')),
现在我们已经安装了框架,让我们改变一下我们的hello模板用于跟踪Dreamreal模型的评论.我们将列出,保存特定Dreamreal条目的注释,该条目的名称将作为参数传递给/myapp/hello URL.
Dreamreal Model
class Dreamreal(models.Model): website = models.CharField(max_length = 50) mail = models.CharField(max_length = 50) name = models.CharField(max_length = 50) phonenumber = models.IntegerField() class Meta: db_table = "dreamreal"
hello view
def hello(request, Name): today = datetime.datetime.now().date() daysOfWeek = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] dreamreal = Dreamreal.objects.get(name = Name) return render(request, 'hello.html', locals())
hello .html模板
{% extends "main_template.html" %}{% load comments %}{% block title %}My Hello Page{% endblock %}{% block content %}Our Dreamreal Entry:
Name : {{dreamreal.name}}
Website : {{dreamreal.website}}
Phone : {{dreamreal.phonenumber}}
Number of comments : {% get_comment_count for dreamreal as comment_count %} {{ comment_count }}
List of comments :
{% render_comment_list for dreamreal %}{% render_comment_form for dreamreal %}{% endblock %}
最后是我们的hello视图的映射URL :
url(r'^hello/(?P\w+)/', 'hello', name = 'hello'),
现在,
在我们的模板(hello.html)中,使用 : 加载评论框架; {%load comments%}
我们通过view : 获得Dreamreal对象传递的注释数量; {%get_comment_count for dreamreal as comment_count%}
我们得到对象的评论列表 : {%render_comment_list for dreamreal%}
我们显示默认评论表格 : {%render_comment_form for dreamreal%}
访问/myapp/hello/steve时,您将获得其名称为Dreamreal条目的评论信息是史蒂夫.访问该URL将获得减去;
开发表评论后,您将被重定向到以下页面 :
如果再次访问/myapp/hello/steve,您将看到以下页面 :
正如您所看到的,评论数量现在为1,您在评论列表下面有评论.