سلام من میخوام پست هام رو بدون اینکه دوتا کوئری بزنم و دوتا حلقه استفاده کنم در html، در این section که عکسشو میذارم نمایش بدم حالا میتونه بر اساس زمان ساخت یا هر چی باشه

اگه یه دونه کوئری و یه دونه حلقه بزنم، کل اون سکشن رو بارها تکرار میکنه اما من میخوام 5 تا پست رو در این بخش نمایش بدم. راه اولی که به ذهننم رسید این بود که یه کوئری بزنم پست های [0:1] رو نمایش بده و یه کوئری دیگه بزنم پست های [1:5] رو نشون بده و تو html هم باید دوتا حلقه استفاده کنم.
آیا راه بهتری هست؟
سلام دوست من
هر 6 تا مقاله رو از دیتابیس با یک کوئری واکشی کنین و بعد از واکشی دو تا لیست بفرستین سمت صفحه
من مقاله هارو واکشی کردم. دو تا لیست خالی درست کردم. یه حلقه بر روی مقاله ها زدم و داخل حلقه، با متد append از عنصر مثلا 0 تا 1 رو انداختم تو لیست اول و عنصر 1 تا 5 رو انداختم تو لیست دوم و هردوتا لیست رو تو context ها فرستادم سمت html
اما ارور داد:
'Article' object is not subscriptable
لطفا کد مربوط به view رو ارسال کنین
def ArticlesView(request):
Suggested_Article = Article.objects.filter(Suggested_post=True)
Suggested_Article_1 = []
Suggested_Article_2 = []
for item in Suggested_Article:
Suggested_Article_1.append(item[0:1])
Suggested_Article_2.append(item[1:5])
context = {
'Suggested_Article_1': Suggested_Article_1,
'Suggested_Article_2': Suggested_Article_2,
}
return render(request, 'blog/articles_page.html', context)دارین اشتباه به لیست اضافه میکنین دوست من
آیتم اول رو از لیست بردارین و به یک مقدار در context بدین و باقی آیتم ها باید به صورت لیست به صفحه ارسال بشن
ببخید متوجه نشدم
context که دیکشنری هست چطور داخلش یا در کنارش یه لیست به صفحه بفرستیم. قسمت اول جواب تون رو هم متوجه نشدم که دقیقا باید چیکار کنم، چون آیتم اول داخل لیست هست و بعد یه context داده شده و هرچی فکر میکنم توجه نمیشم
def ArticlesView(request):
Suggested_Article = Article.objects.filter(Suggested_post=True)
Suggested_Article_1 = []
Suggested_Article_2 = []
for item in Suggested_Article:
Suggested_Article_1.append(item[0:1])
Suggested_Article_2.append(item[1:5])
context = {
'Suggested_Article_1': Suggested_Article_1,
'Suggested_Article_2': Suggested_Article_2,
}
return render(request, 'blog/articles_page.html', context)در حلقه ی for که نوشتین ، روش استخراج اطلاعات غلطه دوست من
شما توی هر iteration دارین به suggested_article مقدار اضافه میکنین که کاملا غلطه
اگه قصد دارین از روش slicing استفاده کنین نیازی به حلقه نیست
suggested_article_1 = suggested_article[0]
suggested_article_2 = suggested_article[1:6]حالا هر کدوم رو در context با کلید مختلف قرار بدین و به صفحه ارسال کنین
ممنونم ازتون
خواهش میکنم دوست من
موفق باشین :)