জ্যাঙ্গো টেমপ্লেটের মধ্যে সূচী দ্বারা রেফারেন্স তালিকা আইটেমটি?


116

এটি সহজ হতে পারে তবে আমি চারপাশে তাকিয়েছিলাম এবং উত্তর খুঁজে পেলাম না। জ্যাঙ্গো টেমপ্লেট থেকে তালিকার একক আইটেমটি উল্লেখ করার সর্বোত্তম উপায় কী?

অন্য কথায় আমি কীভাবে {{ data[0] }}টেমপ্লেট ভাষার মধ্যে সমতুল্য করব ?

ধন্যবাদ

উত্তর:


194

দেখে মনে হচ্ছে {{ data.0 }}। দেখুন ভেরিয়েবল এবং লুক-


49
বিরক্তিকর বিষয়টি আমি বলতে পারি না {{ data.foo }}, fooএটির মধ্যে একটি সূচক মান সহ একটি ভেরিয়েবল কোথায় এবং কোনও সম্পত্তির নাম নয়।
মাইক ডিসিমোন

4
আপনি যদি একটি কাস্টম ট্যাগ তৈরি করতে ইচ্ছুক হন তবে আপনি আরও অনেক কিছু করতে পারেন। এখানে আমরা কেবল অন্তর্নির্মিত স্টাফ নিয়ে কাজ করছি।
মাইক ডিসিমোন

লিঙ্কটি আর কাজ করছে না, এটি ব্যবহার করে দেখুন: ডকস.ডজ্যাঙ্গোপ্রজেক্ট /en/1.10/ref/templates/api/…
স্পেসিটি

82

আরও ভাল উপায়: কাস্টম টেম্পলেট ফিল্টার: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

যেমন টেমপ্লেটে আমার_লিস্ট [এক্স] পান:

টেম্পলেট মধ্যে

{% load index %}
{{ my_list|index:x }}

টেমপ্লেট্যাগগুলি / সূচি.পি

from django import template
register = template.Library()

@register.filter
def index(indexable, i):
    return indexable[i]

যদি my_list = [['a','b','c'], ['d','e','f']], আপনি {{ my_list|index:x|index:y }}টেমপ্লেট ব্যবহার করতে পারেনmy_list[x][y]

"এর" সাথে এটি দুর্দান্ত কাজ করে

{{ my_list|index:forloop.counter0 }}

পরীক্ষিত এবং ভাল কাজ করে ^ _ ^


4
টেমপ্লেট ট্যাগগুলির অ্যাপ্লিকেশন শেখার সহজ ব্যাখ্যাগুলির মধ্যে একটি!
ভ্যানগার্ড

5
এই দুর্দান্ত ছিল! তবে | {তালিকা | সূচক: x}} ফর্ম্যাট সহ আমি যেখানে মানগুলি সাধারণত বিন্দু ব্যবহার করব সেখানে কীভাবে আমি অ্যাক্সেস করব? {{(তালিকা | সূচক: x) name নাম}} অবশ্যই কাজ করে না। ধন্যবাদ!
JTFouquier

ঠিক আমি খুঁজছেন ছিল কি. ধন্যবাদ!
অনুদান বার্টেল

আমার একটি অ্যারে রয়েছে যাতে আমি আমার পছন্দসই মানের সূচকের বিষয়ে নিশ্চিত নই{% for id in article_details.heading.contents.article_ids %} {% if id.type == 'DOI' %} {{ article_details.heading.contents.article_ids.forloop.counter0.value }} {% endif %} {% endfor %}
আকিন হাওয়ান

4
@ সুপারকোড '0' এর অর্থ সূচকটি 1 থেকে নয়, 0 থেকে শুরু হবে
ওয়েইজহংটু

24

{{ data.0 }} কাজ করা উচিত.

ধরা যাক আপনি data.objজ্যাঙ্গো চেষ্টা লিখেছেন data.objএবং data.obj()। যদি তারা কাজ না করে তবে এটি চেষ্টা করে data["obj"]। আপনার ক্ষেত্রে data[0]হিসাবে লেখা যেতে পারে {{ data.0 }}। তবে আমি আপনাকে data[0]দৃশ্যে টানতে এবং এটি পৃথক ভেরিয়েবল হিসাবে প্রেরণের পরামর্শ দিচ্ছি ।


1

@ জেনিফার 06262016, আপনি অবশ্যই একটি জ্যাঙ্গো ক্যোরিসেটের ভিতরে থাকা বস্তুগুলিকে ফিরিয়ে দিতে অন্য ফিল্টারটি যুক্ত করতে পারেন।

@register.filter 
def get_item(Queryset):
    return Queryset.your_item_key

সেক্ষেত্রে আপনি কিছু টেক্সটরিজ অবজেক্ট অ্যাক্সেস করতে আপনার টেমপ্লেটে এই জাতীয় {{ক্যোরিসেট | সূচক: x | get_item} like জাতীয় কিছু টাইপ করবেন। এটা আমার জন্য কাজ করে.

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