জ্যাঙ্গো টেমপ্লেটে অ্যারে উপাদানগুলি কীভাবে অ্যাক্সেস করবেন?


166

আমি arrআমার জ্যাঙ্গো টেমপ্লেটে অ্যারে পাস করছি। আমি অ্যারের পৃথক উপাদানগুলিতে অ্যাক্সেস করতে চাই (যেমন arr[0], arr[1]) ইত্যাদি পুরো অ্যারের মাধ্যমে লুপিংয়ের পরিবর্তে।

জ্যাঙ্গো টেমপ্লেটে এটি করার কোনও উপায় আছে কি?


3
আপনি ভালো আইটেমটি অ্যাক্সেস করতে পারেন arr.0, arr.1... আরেকটি সমাধান: আপনার নিজের টেমপ্লেট ট্যাগ লিখতে arr|array_item: "0" বা ভালো কিছু।
rphonika

1
@rphonika হ্যাঁ, এখানে উদাহরণ: stackoverflow.com/a/29664945/2714931
WeizhongTu

উত্তর:


303

মনে রাখবেন যে জ্যাঙ্গো টেমপ্লেটে বিন্দু চিহ্নটি পাইথনের চারটি আলাদা স্বরলিপি ব্যবহার করা হয়। একটি টেমপ্লেটে, এর foo.barঅর্থ যেকোনও হতে পারে:

foo[bar]       # dictionary lookup
foo.bar        # attribute lookup
foo.bar()      # method call
foo[bar]       # list-index lookup

এটি কোনও মিল খুঁজে পাওয়া পর্যন্ত এটি এই ক্রমে তাদের চেষ্টা করে। সুতরাং foo.3আপনি আপনার তালিকা সূচক পাবেন কারণ আপনার অবজেক্টের মূল হিসাবে 3 হিসাবে কোনও ডিক্ট নয়, 3 নামের একটি বৈশিষ্ট্য নেই এবং 3 নামের একটি পদ্ধতি নেই।


3
প্রথম এবং শেষ কি আর পছন্দ হয় না foo['bar']?
বব স্টেইন

2
ভেরিয়েবল ইনডেক্স ব্যবহার করে কোনও তালিকা আইটেম অ্যাক্সেস করার কোনও উপায় নেই বলে মনে হয় :(
ভিকি চিজওয়ানি

@ ভিকিচিজওয়ানির সাথে একমত: উপরের চতুর্থ বিকল্পটি বৈধ নয়। জ্যাঙ্গো টেমপ্লেটগুলি ভেরিয়েবলগুলির সাথে তালিকা-সূচক
লুক্কায়িতগুলি

কীভাবে কাটিয়ে উঠবেন?
সিএসবা তোথ

আমি বুঝতে পারি না যে আমি এটি অফিসিয়াল ডকুমেন্টেশনে খুঁজে পাইনি। আপনি কি এই পোস্টের জন্য একটি উত্স প্রদান করতে পারেন? আমি বর্তমানে অবাক হয়েছি কীভাবে এটি উত্তর গৃহীত হয় না।
কাসজানাস

148
arr.0
arr.1

প্রভৃতি


10
প্রাক্তনের মতো ডায়নামিক কীভাবে প্রিন্ট করবেন: অররিভেরিয়েবলনাম
কুমার

যাদু সংখ্যা ছাড়াই এটি করার কোনও উপায় আছে? অন্য কথায় "নাম" দিয়ে .0 .1 .2 ইত্যাদি ...? যেমন অ্যারে ["প্রথম নাম"], অ্যারে ["শেষ নাম"] ইত্যাদি ইত্যাদি ..
সাইবারজাক

@cyberjoac সেক্ষেত্রে একটি ডিক ব্যবহার করুন। ভিউতে: d = {'প্রথম_নাম': 'ফু', 'শেষ_নাম': 'বার'}} টেমপ্লেটে {{d.first_name} just ঠিক কাজ করবে।
অফরি রবিভ


7

যখন আপনি 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 %}

যদি অন্য কোন সমস্যা থাকে তবে আমি আপনাকে সহায়তা করতে চাই

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.