当前位置:  开发笔记 > 编程语言 > 正文

如何通过删除不必要的字段来扩展评论框架(django)?

如何解决《如何通过删除不必要的字段来扩展评论框架(django)?》经验,为你挑选了1个好方法。

我一直在阅读关于评论框架的django文档以及如何自定义它(http://docs.djangoproject.com/en/1.1/ref/contrib/comments/custom/)在该页面中,它显示了如何向表单添加新字段.但我想要做的是删除不必要的字段,如URL,电子邮件(以及其他次要的mod).

在同一个doc页面上,它说要走的路是从BaseCommentAbstractModel扩展我的自定义注释类,但就是这样,我到目前为止,现在我不知所措.我在这个具体方面找不到任何东西.



1> mitchf..:

我最近实现了Ofri提到的解决方案,因为我只想接受一个单独的"评论"字段来评论(比如SO,没有"名字",没有"电子邮件",没有"网址").

为了自定义默认注释表单和列表显示,我在根目录"templates"目录中创建了一个"comments"目录,并覆盖了两个默认注释模板.

我的"/templates/comments/form.html"是:

{% load comments i18n %}
{% if user.is_authenticated %}
    
{% csrf_token %} {% if next %}{% endif %} {% for field in form %} {% if field.is_hidden %} {{ field }} {% else %} {% if field.name != "name" and field.name != "email" and field.name != "url" %} {% if field.errors %}{{ field.errors }}{% endif %}

{{ field }}

{% endif %} {% endif %} {% endfor %}
{% else %} I'm sorry, but you must be logged in to submit comments. {% endif %}

这与默认评论表格略有不同,主要是抑制不需要的"姓名","电子邮件"和"网址"输入的显示.

我的"/templates/comments/list.html"是:

{% for comment in comment_list %}
{{ comment.comment }} (from {{ comment.user }} - {{ comment.submit_date|timesince }} ago)
{% endfor %}

在页面上我想要表单,我首先调用{% load comments %}然后{% render_comment_form for [object] %}来显示表单,或者{% render_comment_list for [object] %}生成对象的注释列表(用适当的对象名称替换[object]).

这对我很有用,并且仍然给我所有其他"免费"的东西,附带django评论(适度,标记,提要,多态关联等...)

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有