二十五岁时我们都一样愚蠢、多愁善感,喜欢故弄玄虚,可如果不那样的话,五十岁时也就不会如此明智。
标题:Django评论
在开始之前,请注意,从1.5版本开始,不推荐使用Django评论框架。现在你可以使用外部功能来做这件事了,但是如果你仍然想使用它,它仍然包含在版本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].id u'56194498e13823167dd43c64'设置你在settings.py文件中得到的id −
SITE_ID = u'56194498e13823167dd43c64'同步数据库,创建所有评论表或集合 - −
python manage.py syncdb将评论应用的网址添加到您项目的urls.py -
from django.conf.urls import include url(r'^comments/', include('django.contrib.comments.urls')),现在我们已经安装了框架,让我们改变我们的hello模板来跟踪我们的Dreamreal模型上的评论。我们将列出并保存特定Dreamreal条目的注释,其名称将作为参数传递给/ myapp / hello URL。
Dreamreal模型
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视图
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 %} <p> Our Dreamreal Entry: <p><strong>Name :</strong> {{dreamreal.name}}</p> <p><strong>Website :</strong> {{dreamreal.website}}</p> <p><strong>Phone :</strong> {{dreamreal.phonenumber}}</p> <p><strong>Number of comments :<strong> {% get_comment_count for dreamreal as comment_count %} {{ comment_count }}</p> <p>List of comments :</p> {% render_comment_list for dreamreal %} </p> {% render_comment_form for dreamreal %} {% endblock %}最后,我们的hello视图的映射网址 -
url(r'^hello/(?P<Name>\w+)/', 'hello', name = 'hello'),现在
在我们的模板(hello.html)中,使用 - {%load comments%}加载评论框架
我们通过视图获得了Dreamreal对象传递的评论数量 - {{%get_comment_count for dreamreal作为comment_count%}
我们得到了对象的评论列表 - {%render_comment_list for dreamreal%}
我们显示默认评论表单 - {%render_comment_form for dreamreal%}
当访问/ myapp / hello / steve时,您将获得名为Steve的Dreamreal条目的评论信息。访问该URL会让你 -
在发表评论时,您将被重定向到以下页面 -
如果您再次访问/ myapp / hello / steve,您将会看到以下页面 -
正如您所看到的,现在评论的数量是1,并且您在评论列表下面有评论。