问题标签 [django-comments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
252 浏览

django - django:自定义多个评论表单/模型

在这种情况下,我有 2 个或更多模型:

这些都需要不同的评论模型/形式。例如:

  • 产品评论 我想要一些额外的信息,如产品评级、优点、缺点等。
  • 但对于商店来说,我希望有一些字段,如评价客户支持、评价沟通/响应、如果运费合理则布尔值等。

这两个模型都是 contrib Comments 模型的子类,因此它与现有的 admin 和 comments 模板标签兼容。

然而,Django 的内置注释设置似乎相当严格,只允许使用get_model() 和 get_form()方法自定义一个模型/表单。

我使用不同的方法在这两种情况下都能正常工作,但它涉及大量代码重复,如果我要添加第 3 或第 4 类型的注释子类,这是相当不切实际的。

有谁知道这样做的更好方法?我试过搜索 StackOverflow,但似乎没有结果类似于这个用例。

0 投票
1 回答
494 浏览

django - 将 Django 评论与 Django 用户联系起来

我在内置评论中使用 Django 来允许用户评论我的帖子。我还自定义了应用程序来执行以下操作

  • 注册用户将只看到用于评论的文本区域
  • 未注册用户将看到整个表单

尽管整个事情运行良好,但我不明白如何将用户评论链接到用户的个人资料。我想让评论名称可点击,以便将您带到发布该评论的用户个人资料。

但是,对于未注册的用户,我只想显示名称。我必须在哪里以及如何在评论表单中进行更改,以便将其与当前用户链接。

0 投票
1 回答
314 浏览

django - 使用 django 通过评论计数排序条目

我需要从数据库中获取包含评论数的条目。我可以用 django 的评论框架来做吗?我还使用了一个不使用 GenericForeignKeys 的投票应用程序,我得到的分数如下:

但是当有外键时,我被卡住了。你对此有什么想法吗?

额外说明:我需要获取这样的条目:

之后,我可以通过comment_score 订购它们。:)

感谢所有回复。

0 投票
0 回答
122 浏览

django - django 评论框架的反欺骗是如何工作的?

在 django 评论框架中,除了常用的 CSRF toekn 之外,CommentSecurityForm 还包含一个 'timestamp' 和一个 'security_hash' 字段,用于“反欺骗”。它有什么安全价值?我需要使用通用外键(包括 content_type 和 object_id 隐藏字段)制作表单,我是否应该实施相同的方法来提高安全性?如果是这样,是否有关于这个问题的好的阅读材料?谢谢您的帮助!:)

Django 评论表单类描述

0 投票
1 回答
186 浏览

django - django-mptt-comments 应用程序错误

我正在尝试django-mptt-comments在我的 django 项目上使用应用程序,但是当我尝试发表评论时遇到了问题。

我得到错误:AttributeError: 'NoneType' object has no attribute 'level'

这是回溯:https ://gist.github.com/1481179

您会在回溯中注意到错误发生在第 93 行的 appp 的 form.py 中。代码如下所示:https ://gist.github.com/1481191

谁能告诉我可能导致此问题的原因以及如何解决此问题。谢谢。

0 投票
1 回答
388 浏览

python - 自定义 django 评论管理槽

所以我在我的博客应用程序中使用了 Django 的内置评论应用程序 (django.contrib.comments)。我对表单显示等进行了一些更改(如文档中所述)。困扰我的最后一件事是 Comments 模型在管理员中属于它自己的类别,如下所示:

MyApp
---Model1
---Model2

评论
---评论

我希望它是这样的,因为评论与 MyApp 模型相关联。

MyApp
---Model1
---Modle2
---评论

我试图通过将这行代码添加到 MyApps admin.py 来实现这一点(覆盖 Comment 类)

这有效(并且评论模型显示在 MyApps 下)但现在链接错误......模型指向:

http://www.mysite.com/admin/myapp/myappcomment/

输出错误:

没有这样的表:myapp_myappcomment

代替:

http://www.mysite.com/admin/comments/comment/

这是因为管理员根据应用程序名称和模型名称形成它的 url...我怎么能在管理员中更改 Comments 模型的位置但保持 url 原样?

一定有什么办法吗?

0 投票
2 回答
155 浏览

django - 从所有站点获取给定对象的 Django 评论

我正在使用 Django-sites 框架在不同站点之间共享对象。这很好用,因为我能够在我的模型中定义多对多关系。

但是,在使用模板标签“render_comment_list”检索对象的评论(Django 评论)时,我只得到那些发布在该特定网站上的评论。这是意料之中的,但我也想获得为该对象发布的其他评论,这些评论在多个站点之间共享。

深入研究 Django-comments 的代码,似乎这是导致“问题”的方法:

我的问题是:

  • 改变行为的最简单方法是什么,以便模板标签“render_comment_list”显示对象的所有评论,而不仅仅是特定站点的评论?
  • 我是否需要创建另一个模板标签并复制粘贴 99% 的 Django-comments 模板标签代码?

谢谢

0 投票
2 回答
1204 浏览

django - 如何为内置评论框架的django提供删除按钮

我正在使用 django 评论框架。它说它提供了很多功能,我也可以在源文件中看到有各种选项,但是文档有点差。

有两个问题

  1. 我想为delete button发布的每条评论提供一个,我不想将用户重定向到另一个页面。我只想通过确认消息删除评论。我没有找到任何文档告诉我如何在django comments framework
  2. 如果有一个error while submitting the comment form,用户是redirected to the preview page(也处理错误),我不想要这个。我希望用户被重定向到同一页面,并出现相应的错误。我该怎么做。

任何帮助或方向表示赞赏

0 投票
3 回答
5861 浏览

django - django 评论框架: distinct() 不起作用?

在评论模型的任何字段上运行 distinct() 总是返回所有记录,

Comment.objects.values('user').distinct()

[{'user': 1}, {'user': 0}, {'user': 0}, {'user': 0}, {'user': 0}, {'user': 1}, { “用户”:1},{“用户”:1},{“用户”:1}]

Comment.objects.values('ip_address').distinct()

[{'ip_address': u'127.0.0.1'},{'ip_address': u'192.168.0.180'}, {'ip_address':u'192.168.0.180'}, {'ip_address': u'192.168.0.180 '}, {'ip_address': u'192.168.0. 180'}, {'ip_address': u'192.168.0.180'}, {'ip_address': u'192.168.0.180'}, {'ip_address': u'192.168.0.180'}, {'ip_address': u' 192.168.0.180'}]

为什么会这样?有没有解决的办法?谢谢!

ps: distinct() 在我的测试过程中在自定义模型的不同类型字段中运行得非常好。评论框架有什么特别之处吗?

一点结论 感谢大家回答这个问题,结合一些阅读,我得出以下结论:

  1. values() 影响最终 sql 的 SELECT 部分中的查找字段(“ values() 采用可选的位置参数 *fields,它指定 SELECT 应限制的字段名称”)
  2. order_by() 也将其参数添加到 SELECT 部分。
  3. 在查找中使用 distinct() 将导致 sql 如下所示:

    SELECT DISTINCT [fields1, fields2, fields3] FROM ... WHERE ...

    并且这些字段的值共同决定了一条记录是否唯一。这些字段可能来自查找中的 values() 或 order_by() 函数。

  4. 因此 order_by() 与 distinct() 结合时会增加一些不需要的效果,order_by 中指定的字段也考虑了记录是否唯一

  5. Django Comment 默认有一个隐藏的 order_by 参数,从而造成了整个问题。任何模型在返回 qs 时都有隐藏的 order_by 可能会导致相同的问题。

  6. 解决的方法是在查找的末尾添加一个空的order_by(),这样就去掉了默认的order_by。
0 投票
1 回答
110 浏览

django - shell 中的 Django 注释

我无法使用 django 评论将评论拉入我的模板。我想在外壳中测试一些东西 - 即。拉入一个对象并获得一组评论 - 但我不知道该怎么做。

是否可以在 shell 中访问模型的评论?