فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — شرط if/else (If Else)

آخرین بروزرسانی: 1404/08/20

شرط if/else (If Else)

در قالب های جنگو، «شرط (If)» یعنی تصمیم گیری. سپس خروجی HTML بر اساس شرط ساخته می شود. مثل زنگ تفریح که اگر زنگ خورد، می رویم حیاط.

تعریف شرط if

با if یک متغیر بررسی می شود. سپس اگر درست بود، بلاک اجرا می شود.

{% if greeting == 1 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

elif: شرط بعدی

«elif» یعنی اگر قبلی نبود، این یکی را بسنج. سپس همانجا تصمیم بگیر.

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% endif %}

مشاهده در ادیتور

else: در غیر این صورت

«else» همه حالت های دیگر را می گیرد. سپس خروجی پیش فرض را می دهد.

{% if greeting == 1 %}
  <h1>Hello</h1>
{% elif greeting == 2 %}
  <h1>Welcome</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

مشاهده در ادیتور

بررسی تهی بودن متغیر

می توانی بدون عملگر، فقط «خالی نبودن» را بسنجی. این یعنی مقدار دارد.

{% if greeting %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

عملگرهای مقایسه

برخی عملگرهای رایج: مساوی، نابرابر، کوچکتر، کوچکتر یا مساوی، بزرگتر، بزرگتر یا مساوی.

{% if greeting == 2 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting != 1 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting < 3 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting <= 3 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting > 1 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting >= 1 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

ترکیب شرط ها: and، or

«and» یعنی هر دو شرط درست باشند. «or» یعنی یکی کافی است.

{% if greeting == 1 and day == "Friday" %}
  <h1>Hello Weekend!</h1>
{% endif %}

مشاهده در ادیتور

{% if greeting == 1 or greeting == 5 %}
  <h1>Hello</h1>
{% endif %}

مشاهده در ادیتور

ترکیب and و or بدون پرانتز

پرانتز در if مجاز نیست. سپس جنگو عملاً برای and پرانتز ضمنی می گذارد.

{% if greeting == 1 and day == "Friday" or greeting == 5 %}

مشاهده در ادیتور

{% if (greeting == 1 and day == "Friday") or greeting == 5 %}

مشاهده در ادیتور

عضویت: in / not in

«in» وجود عضو را می سنجد. «not in» نبودن را بررسی می کند.

{% if 'Banana' in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

مشاهده در ادیتور

{% if 'Banana' not in fruits %}
  <h1>Hello</h1>
{% else %}
  <h1>Goodbye</h1>
{% endif %}

مشاهده در ادیتور

همان شیء بودن: is / is not

«is» برابری هویت شیء را می سنجد. با «==» تفاوت دارد.

from django.http import HttpResponse
from django.template import loader

def testing(request):
  template = loader.get_template('template.html')
  context = {
    'x': ['Apple', 'Banana', 'Cherry'],
    'y': ['Apple', 'Banana', 'Cherry'],
  }
  return HttpResponse(template.render(context, request))

مشاهده در ادیتور

{% if x is y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

مشاهده در ادیتور

{% if x == y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

مشاهده در ادیتور

{% with var1=x var2=x %}
  {% if var1 is var2 %}
    <h1>YES</h1>
  {% else %}
    <h1>NO</h1>
  {% endif %}
{% endwith %}

مشاهده در ادیتور

{% if x is not y %}
  <h1>YES</h1>
{% else %}
  <h1>NO</h1>
{% endif %}

مشاهده در ادیتور

گام های عملی

  1. متغیر «greeting» را در ویو تنظیم کن.
  2. در قالب، if و elif و else را تست کن.
  3. سپس عملگرهای and و or را ترکیب کن.
  4. در پایان، خروجی HTML را بررسی کن.

جمع بندی سریع

  • if تصمیم می گیرد؛ else پوشش باقی حالت هاست.
  • elif برای شرط دوم است.
  • and یعنی هر دو؛ or یعنی یکی.
  • in برای عضویت؛ is برای هویت شیء.

برای مرور کلی تگ ها، به تگ ها سر بزن. همچنین مثال های متغیرها را تمرین کن. اگر لازم شد، همین صفحه شرط if/else را نشانه گذاری کن.