• 1401/05/07

مشکل توی فایل html اجرا نشدن key word :

سلام . من توی فایل html که title| رو بعد متن مینویسم هیچی نمیشه و همون رو دقیقا برمیگردونه ینی میزنه saturday|title  بعد از حلقه ی for هم نمیتونم استفاده کنم تو فایل html.  لطفا راهنمایی کنید  .

  • 1401/05/07
  • ساعت 10:42

با سلام.

 

برای استفاده از DTL در template ها قوانینی به شکل زیر وجود دارد:

برای نمایش مقدار متغیرها

{{ <Variable_Name> }}


برای استفاده از دستورات پایتون
{% Commands... %}

مثلاً برای نوشتن حلقه for به این شکل باید بنویسید:

{% for x in y %}
    <your codes>
{% endfor %}

 

در کد شما

<a href="saturday"> saturday|title </a>

کلمه ی saturday که برای href قرار دادید، لینک مربوطه و saturday|title به عنوان یک رشته و جهت نمایش عنوان این لینک به کار می رود و در حال حاضر یک رشته ی ثابت است و عیناً در خروجی همان saturday|title را بر می گرداند.

 به شرطی که saturday متغیری باشد که به template پاس داده شده باشد، می توانید به این صورت از آن در template خود استفاده کنید:

<a href="saturday"> {{ saturday|title }} </a>

 

پیشنهاد می کنم یک بار دیگر video را ببینید. مشکل حل می شود.

موفق باشید.


  • 1401/05/07
  • ساعت 15:32

اصلا {{ day1}} هم کار نمیکنه ولی تو vscod کار میکرد 

توی views مشکل داره ؟ 


  • 1401/05/07
  • ساعت 17:55

خروجی کدها در VSCode و PyCharm تفاوتی ندارد.

بعد از دستوری که نوشتید، یک print به این شکل اضافه کنید:

 

context = dict(day1=days.get('sunday'))
print(context) # returns None

و خروجی را چک کنید. (خروجی None خواهد بود)

 

اشکال در نحوه ی بازیابی کلیدهای dictionary اصلی (days) و پاس دادن آن به context (که آن هم dict است) می باشد.

به این شکل تغییر دهید:

context = dict({"day1": days.get('sunday')})

 


  • 1401/05/08
  • ساعت 09:40

سلام دوست من

پاسخ دوستمون weby صحیح هستش دوست من


  • 1401/05/09
  • ساعت 16:08

بله متوجه شدم خیلی ممنون از راهنماییتون .

 


  • 1401/05/09
  • ساعت 16:20

موفق باشین :)