我最近實施了Ofri提到的解決方案,因爲我只想接受評論的獨立「評論」字段(比如SO,沒有「名稱」,沒有「電子郵件」和沒有「網址」)。
要定製默認的評論形式和列表顯示,我在根「模板」目錄下創建一個「意見」目錄,並推翻了兩個默認評論模板。
我「/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的意見的東西(中庸,萎靡不振,飼料,多態關聯,等等)
爲什麼你需要將它們刪除?如果你將它們取出,那麼使用評論框架的可插式應用程序會不會有問題?它們並沒有造成任何傷害,它們消耗的磁盤空間量可以忽略不計。 – Tom
我不是說像我想去的那樣刪除它們並且破解評論代碼。我只是想在這個特定的應用程序中省略它們。 免責聲明:我希望有比CSS隱藏它一個更好的方式,並指定這些領域的幕後一個空值,所以從張貼的答案不要,除非它是來告訴我,這是做到這一點的唯一途徑。 :) – Nacho