Django 评论

Django 评论

在开始之前,请注意,Django评论框架已被废弃,自1.5版本开始。现在你可以使用外部功能来进行评论,但如果你仍然想要使用它,它仍然包含在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

将评论app的URL添加到你的项目的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"

你好视图

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 %}

最终将URL映射到我们的hello视图 –

url(r'^hello/(?P<Name>\w+)/', 'hello', name = 'hello'),

现在

  • 在我们的模板(hello.html)中,使用以下代码加载评论框架- {% load comments %}

  • 我们通过视图传递Dreamreal对象,获取评论数量- {% get_comment_count for dreamreal as comment_count %}

  • 我们获取对象的评论列表- {% render_comment_list for dreamreal %}

  • 我们显示默认的评论表单- {% render_comment_form for dreamreal %}

当访问/myapp/hello/steve时,你将获得Dreamreal条目(名为Steve)的评论信息。访问该URL将获取如下结果-

Django 评论

发表评论后,您将被重定向到以下页面-

Django 评论

如果你再次访问/myapp/hello/steve ,你将看到以下页面−

Django 评论

如你所见,现在评论数为1,并且你在评论列表行的下方有评论。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程