मैंने हाल ही में इस समाधान को लागू किया है कि ऑफरी ने उल्लेख किया है, क्योंकि मैं केवल एक टिप्पणी के लिए एकमात्र "टिप्पणी" फ़ील्ड स्वीकार करना चाहता था (जैसे एसओ, कोई "नाम", नहीं "ईमेल" और कोई "यूआरएल")।
डिफ़ॉल्ट टिप्पणी फ़ॉर्म और सूची डिस्प्ले को कस्टमाइज़ करने के लिए, मैंने अपनी रूट "टेम्पलेट्स" निर्देशिका में "टिप्पणियां" निर्देशिका बनाई और दो डिफ़ॉल्ट टिप्पणी टेम्पलेट्स को ओवरराइड किया।
मेरे "/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 %}
कौन सा केवल थोड़ा डिफ़ॉल्ट टिप्पणियां रूप से अलग है, मुख्य रूप से नहीं-आवश्यक "नाम" के प्रदर्शन को दबाने, "ईमेल "और" यूआरएल "इनपुट।
मेरे "/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_list for [object] %}
फोन और फिर {% render_comment_form for [object] %
} फ़ॉर्म को दिखाने के लिए, या एक उत्पन्न करने के लिए ऑब्जेक्ट पर टिप्पणियों की सूची ([ऑब्जेक्ट] को अपने उचित ऑब्जेक्ट नाम से बदलें)।
यह मेरे लिए महान काम कर रहा है, और अब भी मुझे अन्य सभी "मुक्त" सामान है कि Django टिप्पणी के साथ आता है दे रही है (संयम, पर चिह्नित करने, फ़ीड, बहुरूपी संघों, आदि ...)
आपको उन्हें हटाने की आवश्यकता क्यों है? यदि आप उन्हें बाहर ले जाते हैं, तो क्या आपको किसी भी प्लग-इन ऐप के साथ समस्या नहीं होगी जो टिप्पणी ढांचे का उपयोग करती है? वे वास्तव में कोई नुकसान नहीं कर रहे हैं और डिस्क उपभोग की मात्रा नगण्य है। – Tom
मेरा मतलब यह नहीं है कि उन्हें हटाएं जैसे मैं जाना चाहता हूं और टिप्पणियां कोड हैक करना चाहता हूं। मैं बस उन्हें इस विशिष्ट ऐप में छोड़ना चाहता हूं। अस्वीकरण: मुझे आशा है कि सीएसएस के साथ छिपाने से एक अच्छा तरीका है और उन क्षेत्रों को दृश्यों के पीछे एक शून्य मान असाइन करें, इसलिए उस उत्तर को पोस्ट करने से बचें, जब तक कि यह मुझे न कहें कि यह करने का एकमात्र तरीका है। :) – Nacho