- Django 教程
- 姜戈 - 主页
- Django - 基础知识
- Django - 概述
- Django - 环境
- Django - 创建项目
- Django - 应用程序生命周期
- Django - 管理界面
- Django - 创建视图
- Django - URL 映射
- Django - 模板系统
- Django - 模型
- Django - 页面重定向
- Django - 发送电子邮件
- Django - 通用视图
- Django - 表单处理
- Django - 文件上传
- Django - Apache 设置
- Django - Cookie 处理
- Django - 会话
- Django - 缓存
- Django - 评论
- 姜戈 - RSS
- Django - AJAX
- Django 有用资源
- Django - 快速指南
- Django - 有用的资源
- Django - 讨论
Django - 评论
在开始之前,请注意,自 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].id u'56194498e13823167dd43c64'
设置您在 settings.py 文件中获得的 id -
SITE_ID = u'56194498e13823167dd43c64'
同步数据库,创建所有评论表或集合 -
python manage.py syncdb
将评论应用程序的 URL 添加到项目的 urls.py -
from django.conf.urls import include url(r'^comments/', include('django.contrib.comments.urls')),
现在我们已经安装了框架,让我们更改 hello 模板以跟踪对 Dreamreal 模型的评论。我们将列出并保存特定 Dreamreal 条目的注释,该条目的名称将作为参数传递给 /myapp/hello URL。
梦幻模型
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())
你好.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 时,您将获得名为 Steve 的 Dreamreal 条目的评论信息。访问该 URL 将会得到 -
发表评论后,您将被重定向到以下页面 -
如果您再次访问 /myapp/hello/steve,您将看到以下页面 -
可以看到,现在评论数为 1,并且评论列表下方有该评论。