मैं arr
अपने Django टेम्पलेट के लिए एक सरणी पास कर रहा हूं। मैं पूरे सरणी के माध्यम से लूप करने के बजाय सरणी (जैसे arr[0]
, arr[1]
) आदि में व्यक्तिगत तत्वों का उपयोग करना चाहता हूं ।
वहाँ एक Django टेम्पलेट में ऐसा करने का एक तरीका है?
मैं arr
अपने Django टेम्पलेट के लिए एक सरणी पास कर रहा हूं। मैं पूरे सरणी के माध्यम से लूप करने के बजाय सरणी (जैसे arr[0]
, arr[1]
) आदि में व्यक्तिगत तत्वों का उपयोग करना चाहता हूं ।
वहाँ एक Django टेम्पलेट में ऐसा करने का एक तरीका है?
जवाबों:
याद रखें कि Django टेम्पलेट में डॉट नोटेशन का उपयोग पायथन में चार अलग-अलग नोटेशन के लिए किया जाता है। किसी टेम्पलेट में, foo.bar
इसका कोई मतलब हो सकता है:
foo[bar] # dictionary lookup
foo.bar # attribute lookup
foo.bar() # method call
foo[bar] # list-index lookup
यह इस क्रम में उन्हें कोशिश करता है जब तक कि वह एक मैच नहीं पाता। तो foo.3
आप अपनी सूची सूचकांक प्राप्त करेंगे क्योंकि आपकी वस्तु 3 के साथ एक कुंजी के रूप में एक तानाशाह नहीं है, जिसमें 3 नाम की विशेषता नहीं है, और 3 के लिए एक विधि नहीं है।
foo['bar']
?
arr.0
arr.1
आदि।
आप arr.0 arr.1 और इसी के साथ अनुक्रम तत्वों तक पहुँच सकते हैं। देखें Django टेम्पलेट प्रणाली अध्याय में अधिक जानकारी के लिए Django पुस्तक की।
जब आप कुछ जानकारी के लिए render
अनुरोध coctext
करते हैं: परीक्षा के लिए:
return render(request, 'path to template',{'username' :username , 'email'.email})
आप इसे इस तरह से टेम्पलेट पर ले सकते हैं:
for variabels :
{% if username %}{{ username }}{% endif %}
for array :
{% if username %}{{ username.1 }}{% endif %}
{% if username %}{{ username.2 }}{% endif %}
आप सरणी वस्तुओं को भी नाम दे सकते हैं views.py
और दस इसका उपयोग कर सकते हैं जैसे:
{% if username %}{{ username.first }}{% endif %}
अगर कोई और समस्या है तो मैं आपकी मदद करना चाहता हूँ
arr.0
,arr.1
... एक अन्य समाधान: अपने स्वयं के टेम्पलेट टैग लिखनेarr|array_item: "0"
या कुछ इस तरह।