Gần đây tôi đã triển khai giải pháp mà Ofri đã đề cập, vì tôi chỉ muốn chấp nhận trường "nhận xét" đơn độc cho nhận xét (như SO, không "tên", không "email" và không có "url").
Để tùy chỉnh biểu mẫu nhận xét mặc định và hiển thị danh sách, tôi đã tạo thư mục "nhận xét" trong thư mục "mẫu" gốc của tôi và ghi đè hai mẫu nhận xét mặc định.
của tôi "/templates/comments/form.html" là:
{% 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 %}
Đó là chỉ hơi khác so với hình thức bình luận mặc định, chủ yếu là đàn áp màn hình hiển thị của "tên" không-yêu cầu, "email đầu vào "và" url ".
của tôi "/templates/comments/list.html" là:
<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 %}
Trên trang Tôi muốn các hình thức, đầu tiên tôi gọi {% load comments %}
và sau đó {% render_comment_form for [object] %
} để hiển thị các hình thức, hoặc {% render_comment_list for [object] %}
để tạo ra một danh sách các chú thích trên đối tượng (thay thế [đối tượng] bằng tên đối tượng thích hợp của bạn).
Đây là hoạt động lớn đối với tôi, và vẫn đem lại cho tôi tất cả các khác "tự do" thứ mà đi kèm với django ý kiến (điều độ, suy giảm, thức ăn, các hiệp hội đa hình, vv ...)
Tại sao bạn cần xóa chúng? Nếu bạn loại bỏ chúng, bạn sẽ không gặp vấn đề với bất kỳ ứng dụng cắm được nào có sử dụng khung nhận xét không? Họ không thực sự làm bất kỳ tác hại và số lượng không gian đĩa họ tiêu thụ là không đáng kể. – Tom
Tôi không có nghĩa là xóa chúng như tôi muốn đi và hack mã nhận xét. Tôi chỉ muốn bỏ qua chúng trong ứng dụng cụ thể này. Tuyên bố miễn trừ trách nhiệm: Tôi hy vọng có một cách tuyệt vời hơn là ẩn nó bằng css và gán cho các trường đó một giá trị rỗng đằng sau hậu trường, do đó, không đăng câu trả lời đó, trừ khi nó cho tôi biết đó là cách duy nhất để làm điều đó. :) – Nacho