python-设置Django博客评论
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-设置Django博客评论,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1733字,纯文字阅读大概需要3分钟。
内容图文
如果我想在Django中为博客设置评论,并且希望人们能够回复评论(例如普通博客),这意味着每个评论都必须知道它是否是对另一个评论的评论,我是否应该设置像这样的模型领域?
from django.db import models
from django.contrib.auth.models import User
class Comment(models.Model):
post = models.ForeignKey(Post)
user = models.ForeignKey(User)
text = models.TextField()
date = models.DateTimeField()
reply_to = models.ForeignKey(Comment, blank=True, null=True)
那是对的吗?以及如何在模板中显示它们?
解决方法:
乍看之下,编写分层注释应用程序似乎太容易了,但是请相信我,并不是那么简单.边缘情况和安全性问题过多.因此,如果这是一个真实的项目,我建议您使用disqus,任何其他托管解决方案或(现在不建议使用)comments framework.
另一方面,如果您只是想学习事情的进展或玩法,那么到目前为止,您的代码似乎足够公平.但是您应该考虑使用Django’s built-in content types framework而不是直接的外键关系.这样,您可以将注释对象与任何其他对象相关联. (博客文章或其他评论).看一下注释框架models.py,您将看到它.
class BaseCommentAbstractModel(models.Model):
"""
An abstract base class that any custom comment models probably should
subclass.
"""
# Content-object field
content_type = models.ForeignKey(ContentType,
verbose_name=_('content type'),
related_name="content_type_set_for_%(class)s")
object_pk = models.TextField(_('object ID'))
content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_pk")
还可以看一下comment framework template tags中的RenderCommentListNodeNode.您应该编写一个递归函数才能获取和显示层次结构注释.
您必须考虑以下情况:
>如果用户删除评论会怎样?
>我们应该如何删除评论?我们到底应该从数据库中删除它还是应该设置一个属性如Deleted
>我们应该如何处理权限和用户访问级别?
>如果我们让匿名用户发表评论,那么我们需要他们提供哪些信息.
>如何检查人工验证?验证码够吗?
骇客入侵.
内容总结
以上是互联网集市为您收集整理的python-设置Django博客评论全部内容,希望文章能够帮你解决python-设置Django博客评论所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。