Недавно я реализовал решение, о котором упомянул Офри, поскольку я только хотел принять одиночное поле «комментарий» для комментария (например, SO does, no «name», no «email» и «url»).
Чтобы настроить форму комментариев по умолчанию и отображение списка, я создал каталог «комментарии» в моем корневом каталоге «шаблоны» и переопределил два шаблона комментариев по умолчанию.
Мой «/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] на соответствующее имя объекта).
Это работает отлично подходит для меня, и до сих пор дает мне все другие «свободный» материал, который поставляется с Джанго комментарии (умеренность, маркировки, каналы, полиморфные ассоциации, и т.д. ...)
Зачем вам их удалять? Если вы их вытащите, у вас не будет проблем с любым подключаемым приложением, которое использует структуру комментариев? Они на самом деле не навредят, и объем дискового пространства, который они потребляют, ничтожно. – Tom
Я не имею в виду удалить их, как я хочу пойти и взломать код комментария. Я просто хочу опустить их в этом конкретном приложении. Отказ от ответственности: Я надеюсь, что есть лучший способ, чем спрятать его с помощью css и назначить эти поля нулевыми значениями за кулисами, поэтому воздержитесь от публикации ответа, если только он не скажет мне, что это единственный способ сделать это. :) – Nacho