तो मेरे पास एक सूची है जो अलग-अलग ब्लॉग पेज प्रदर्शित कर रही है और वर्तमान में उन्हें अंतिम अद्यतन द्वारा ऑर्डर किया जा रहा है। हालांकि मैं चाहता हूं कि उन्हें post.specific.date
द्वारा आदेश दिया जाए। मैं यह कैसे कर सकता हूँ? अगर मदद के लिए और कोड की जरूरत है तो कृपया कहें।
{% for post in posts %}
<div class="...">
<div class="...">
{% for item in post.specific.blogpage_images.all|slice:"1" %}
{% image item.image fill-400x400-c100 %}
<p>{{ item.caption }}</p>
{% endfor %}
</div>
<div class="...">
<h3 class="...">{{ post.title }}</h3>
<h5>{{ post.specific.intro }} <span
class="...">{{ post.specific.date }}</span></h5>
</div>
<div class="...">
{{ post.specific.body|richtext }}
<div class="...">
<div class="...">
<p>
<button class="..."><b><a
class="effect-shine"
href="{% pageurl post %}">READ
MORE »</a></b>
</button>
</p>
</div>
<div class="...">
<p>
<span class="...">
<span class="...">
<a href="{% pageurl post %}#disqus_thread"> _
</a>
</span>
</span>
</p>
</div>
</div>
</div>
</div>
<hr>
{% endfor %}
मेरा view.py कोड इस प्रकार है
def home(request):
posts. Post.objects.all()
paginator = Paginator(posts,4)
page = request.GET.get('page')
return render(request, 'base/home.html',{'posts':posts})
Model.py इस प्रकार है
class BlogIndexPage(Page):
def get_context(self, request, *args, **kwargs):
context = super().get_context(request, *args, **kwargs)
all_posts = BlogPage.objects.live().public().order_by('-first_published_at')
paginator = Paginator(all_posts, 4)
page = request.GET.get("page")
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context["posts"] = posts
return context
class BlogPage(Page):
1 उत्तर
आप किसी भी list
को बिल्ट-इन sorted
फ़ंक्शन के साथ सॉर्ट कर सकते हैं, और आप इसके लिए एक सही key
फ़ंक्शन निर्दिष्ट कर सकते हैं, इसे ऑर्डर करने के लिए जैसा आप चाहते हैं:
sorted(posts, key=lambda p: p.specific.date)
आप इसे अपने लूप के हिस्से के रूप में भी इस्तेमाल कर सकते हैं:
{% for post in sorted(posts, key=lambda p: p.specific.date) %}
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।