gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 17:17:07 25 4
gpt4 key购买 nike

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

在同一个文档页面上,它说要走的路是从 BaseCommentAbstractModel 扩展我的自定义评论类,但仅此而已,我已经走了这么远,现在我正处于失利。我找不到关于这个特定方面的任何信息。

最佳答案

我最近实现了 Ofri 提到的解决方案,因为我只想接受一个单独的“评论”字段来发表评论(就像 SO 一样,没有“姓名”、没有“电子邮件”和“网址”)。

为了自定义默认评论表单和列表显示,我在根“templates”目录中创建了一个“comments”目录并覆盖了两个默认评论模板。

我的“/templates/comments/form.html”是:

{% load comments i18n %}
{% if user.is_authenticated %}
<form action="{% comment_form_target %}" method="post">
{% csrf_token %}
{% if next %}<input type="hidden" name="next" value="{{ 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 %}
<p {% if field.errors %} class="error"{% endif %} {% ifequal field.name "honeypot" %} style="display:none;"{% endifequal %}>
{{ field }}
</p>
{% endif %}
{% endif %}
{% endfor %}
<input type="submit" name="post" class="submit-post" value="{% trans "Add Comment" %}" />
</form>
{% else %}
I'm sorry, but you must be <a href="javascript:alert('send to login page')">logged in</a> to submit comments.
{% endif %}

这与默认评论表单仅略有不同,主要是抑制显示不需要的“名称”、“电子邮件”和“url”输入。

我的“/templates/comments/list.html”是:

<div class="comment_start"></div>
{% for comment in comment_list %}
<div class="comment">
{{ comment.comment }}
(from <a href="javascript:alert('show user profile/stats')">{{ comment.user }}</a> - {{ comment.submit_date|timesince }} ago)
</div>
{% endfor %}

在我想要表单的页面上,我首先调用 {% load comments %} 然后调用 {% render_comment_form for [object] %} 来显示表单,或 {% render_comment_list for [object] %} 生成对象的评论列表(将 [object] 替换为您合适的对象名称)。

这对我来说非常有用,并且仍然为我提供 django 评论附带的所有其他“免费”内容(审核、标记、提要、多态关联等...)

关于python - 如何通过删除不必要的字段来扩展评论框架(django)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com