2010-03-17 13 views
14

मेरे टेम्पलेट पर, मैं सभी फॉर्म त्रुटियों के माध्यम से पुनरावृत्त करना चाहता हूं, जिनमें एक विशिष्ट फ़ील्ड से संबंधित नहीं हैं।Django, सभी फॉर्म त्रुटियों पर लूप

मैं कई संस्करण की कोशिश की है, (form.errors के लिए जिसका अर्थ है, यह भी __all__ त्रुटियों रूप में अच्छी तरह के लिए प्रदर्शित करना चाहिए) Ie:

<div id="msg"> 
    {% if form.errors %} 
    <div class="error"> 
    <p><span>ERROR</span></p> 
    <ul> 
    {% for key,value in form.errors %} 
    {% for error in value %} 
    <li>{{ error }}</li> 
    {% endfor %} 
    {% endfor %} 
    </ul> 
    </div> 
    {% endif %} 
</div> 

फिर भी कोई उपलब्धि, मैं किसी भी सुझाव के लिए आभारी होंगे।

उत्तर

27

Django में फॉर्म त्रुटियों को ErrorDict उदाहरण के रूप में कार्यान्वित किया गया है (जो अतिरिक्त के साथ dict का उप-वर्ग है)। पाश वाक्य रचना के लिए अपने टेम्पलेट के लिए एक मामूली समायोजन का प्रयास करें:

{% for key, value in form.errors.items %} 
14

आप किसी भी संयोग से, form.non_field_errors की तलाश में हैं? इस प्रकार आप उन त्रुटियों तक पहुंच प्राप्त करेंगे जो किसी विशेष फ़ील्ड से जुड़े नहीं हैं।

{% if form.non_field_errors %} 
<ul> 
    {{ form.non_field_errors.as_ul }} 
</ul> 
{% endif %} 

forms.py test suite और साथ ही एक और उदाहरण के लिए जांचें। form.non_field_errors

+1

के लिए खोजें form.non_field_errors दिखाने के लिए धन्यवाद! – Hellnar

संबंधित मुद्दे