python - django टेम्पलेट में इस कोड को कैसे चलाएं




templates (4)

Django टेम्पलेट प्रस्तुति परत बनाता है और तर्क के लिए नहीं हैं। docs

यदि आपके पास प्रोग्रामिंग में पृष्ठभूमि है, या यदि आप भाषाओं में प्रोग्रामिंग कोड को सीधे HTML में मिश्रित करते हैं, तो आप यह ध्यान में रखना चाहेंगे कि Django टेम्पलेट सिस्टम केवल HTML में एम्बेडेड पायथन नहीं है। यह डिज़ाइन द्वारा है: टेम्पलेट सिस्टम प्रस्तुति व्यक्त करने के लिए है, प्रोग्राम तर्क नहीं।

अब Django में एक ही कार्यक्षमता प्राप्त करने के लिए, आपको विचारों में अपना तर्क पूरा करना होगा।

views.py

def my_view(request, ...):
    ....
    enumerated_a = enumerate(a);
    ....
    return render_to_response('my_template.html', {'enumerated_a ': enumerated_a }..)

अब enumerate फ़ंक्शन एक गणनात्मक वस्तु देता है जो पुनरावर्तनीय है।
my_template.html

{% for index, item in enumerated_a %}
    {{ index }},{{ item }}
{% endfor %}

हालांकि मुझे लगता है कि आप शायद इसे एक समेकित सूची में बदल सकते हैं और इसका उपयोग भी कर सकते हैं।

यह मेरा कोड है:

{% for i,j in enumerate(a) %}
    {{i}} ,{{j}}
{% endfor%}

लेकिन, यह एक त्रुटि दिखाता है, मुझे लगता है कि यह enumerate विधि को चला नहीं सकता है,

तो django टेम्पलेट में enumerate कैसे चलाने के लिए,

धन्यवाद


आप उसी प्रभाव के लिए {{ forloop.counter }} या {{ forloop.counter0 }} उपयोग कर सकते हैं, बाद वाला 0-अनुक्रमित है, इस प्रकार enumerate तरह अधिक है।


यदि आपको टेम्पलेट के भीतर किसी फ़ंक्शन का उपयोग करने की आवश्यकता है, तो मेरा सुझाव है कि आप इसके बजाय एक फ़िल्टर या टैग बनाएं। संदर्भ के लिए, http://docs.djangoproject.com/en/1.2/howto/custom-template-tags/






templates