আপনি কীভাবে পাশের দিকের চেয়ে তালিকাগুলির পক্ষে টেমপ্লেট সারণিকে সীমাবদ্ধ করবেন


83

অবজেক্টস সীমাবদ্ধ করার অন্যতম উপায় হ'ল এর মতো ফাংশনে সীমাবদ্ধতা যুক্ত করা

def ten_objects():
    obj = Model.objects.all()[0:10]  # limit to 10
    return {'objects': obj}

তবে আপনি কীভাবে কোনও ভিউয়ের অভ্যন্তরের চেয়ে কোনও টেম্পলেটটির ভিতরে এটি অর্জন করতে পারেন?

আমি জানি আপনি কোনও টেমপ্লেটের মধ্যে অবজেক্টগুলির মাধ্যমে ফিল্টার করতে পারেন এবং অক্ষর সীমাবদ্ধ করতে পারেন তবে কীভাবে আপনি আসলে কোনও লুপে প্রদর্শিত অবজেক্টের পরিমাণ সীমিত করবেন। টেম্পলেট মাধ্যমে। উদাহরণস্বরূপ নিম্নলিখিত কোডটি সমস্ত বস্তুর মধ্য দিয়ে লুপ করবে ....

    <ul>
     {% for new in news %}
      <li>
       <p>{{ news.title }}</p>
       <p>{{ news.body }}</p>
      </li>
     {% endfor %}
    </ul>

আমি কীভাবে লুপটি ভাঙ্গি, প্রথম তিনটি বস্তু / আইটেম পরে বলি। এবং আমি কীভাবে এটি টেমপ্লেটের অভ্যন্তরে করব। আগাম ধন্যবাদ.


উত্তর:


180

একটি sliceফিল্টার রয়েছে যা আপনি টেমপ্লেটগুলিতে ব্যবহার করতে পারেন। এটি ভিউয়ের মধ্যে কাটানোর মতোই কাজ করে works

{% for new in news|slice:":10" %}

4
আপনার যদি এমন কোনও পরিস্থিতি থাকে যেখানে আপনি ব্যবহার করছেন {% for object in user.objects.all %} আপনি এটি ব্যবহার করতে পারেন{% for object in user.objects.all|slice:":10" %}
সমীর তেন্ডুলকার

দয়া করে আমাকে জাঙ্গোর স্লাইস ডকুমেন্টেশন লিঙ্কটি দিন।
স্কোয়ায়েল

4
এটি আমার উত্তর থেকে আক্ষরিকভাবে সংযুক্ত।
ড্যানিয়েল রোজম্যান

আমি @ দানিয়েলকে পেয়েছি আমি গিথুব জাঙ্গো সংগ্রহস্থলে স্লাইসটি সন্ধান করি তবে আমি স্লাইস_ফিলারটি স্লাইস নয়।
স্কোয়ায়েল

আমার জন্য কাজ করছি।
ভট্টিদেব

12

আপনি স্লাইস টেম্পলেট ফিল্টার ব্যবহার করতে চান

এটি ব্যবহারের জন্য আপনার উদাহরণটি এখানে পরিবর্তন করা হয়েছে:

<ul>
{% for new in news|slice:":3" %}
<li>
<p>{{ new.title }}</p>
<p>{{ new.body }}</p>
</li>
{% endfor %}
</ul>

4
আমি জানি আমি এক ধরনের ধাক্কা খাচ্ছি, তবে এটি হওয়া উচিত: {{ new.title}}এবং {{ new.body }}
হুসাম

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