• 1401/10/25

نمایش پست در استایل ها مختلف :

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

  • 1401/10/25
  • ساعت 21:32

اگه یه دونه کوئری و یه دونه حلقه بزنم، کل اون سکشن رو بارها تکرار میکنه اما من میخوام 5 تا پست رو در این بخش نمایش بدم. راه اولی که به ذهننم رسید این بود که یه کوئری بزنم پست های [0:1] رو نمایش بده و یه کوئری دیگه بزنم پست های [1:5] رو نشون بده و تو html هم باید دوتا حلقه استفاده کنم. 

آیا راه بهتری هست؟


  • 1401/10/25
  • ساعت 21:51

سلام دوست من

هر 6 تا مقاله رو از دیتابیس با یک کوئری واکشی کنین و بعد از واکشی دو تا لیست بفرستین سمت صفحه


  • 1401/10/27
  • ساعت 00:55

من مقاله هارو واکشی کردم. دو تا لیست خالی درست کردم. یه حلقه بر روی مقاله ها زدم و داخل حلقه، با متد append از عنصر مثلا 0 تا 1 رو انداختم تو لیست اول و عنصر 1 تا 5 رو انداختم تو لیست دوم و هردوتا لیست رو تو context ها فرستادم سمت html

اما  ارور داد:

'Article' object is not subscriptable
 


  • 1401/10/28
  • ساعت 11:39

لطفا کد مربوط به view رو ارسال کنین


  • 1401/10/30
  • ساعت 18:51
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)

  • 1401/10/30
  • ساعت 23:03

دارین اشتباه به لیست اضافه میکنین دوست من

آیتم اول رو از لیست بردارین و به یک مقدار در context بدین و باقی آیتم ها باید به صورت لیست به صفحه ارسال بشن


  • 1401/11/09
  • ساعت 23:18

ببخید متوجه نشدم

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)

  • 1401/11/11
  • ساعت 09:39

در حلقه ی for که نوشتین ، روش استخراج اطلاعات غلطه دوست من

شما توی هر iteration دارین به suggested_article مقدار اضافه میکنین که کاملا غلطه

اگه قصد دارین از روش slicing استفاده کنین نیازی به حلقه نیست

suggested_article_1 = suggested_article[0]
suggested_article_2 = suggested_article[1:6]

حالا هر کدوم رو در context با کلید مختلف قرار بدین و به صفحه ارسال کنین


  • 1401/11/14
  • ساعت 01:07

ممنونم ازتون


  • 1401/11/15
  • ساعت 20:35

خواهش میکنم دوست من

موفق باشین :)