فهرست سرفصل‌های 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 — افزودن قالب مادر (Add Master Template)

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

افزودن قالب مادر (Add Master Template)

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

برچسب extends و ساخت master.html

یک فایل master.html بساز. داخلش بلوک های «title» و «content» بگذار. «بلوک (Block)» یعنی جای خالی برای محتوا.

<!DOCTYPE html>
<html>
<head>
  <title>{% block title %}{% endblock %}</title>
</head>
<body>

{% block content %}
{% endblock %}

</body>
</html>

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

نکته: این بلوک ها با محتوای قالب های فرزند جایگزین می شوند.

اتصال all_members.html به قالب مادر

حالا قالب لیست اعضا را طوری بنویس که از master.html ارث ببرد. سپس بلوک های عنوان و محتوا را پر کن.

{% extends "master.html" %}

{% block title %}
  My Tennis Club - List of all members
{% endblock %}


{% block content %}
  <h1>Members</h1>
  
  <ul>
    {% for x in mymembers %}
      <li><a href="details/{{ x.id }}">{{ x.firstname }} {{ x.lastname }}</a></li>
    {% endfor %}
  </ul>
{% endblock %}

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

اتصال details.html به قالب مادر

قالب جزئیات هم باید از master.html ارث ببرد. سپس نام عضو و اطلاعاتش را نشان بده.

{% extends "master.html" %}

{% block title %}
  Details about {{ mymember.firstname }} {{ mymember.lastname }}
{% endblock %}


{% block content %}
  <h1>{{ mymember.firstname }} {{ mymember.lastname }}</h1>
  
  <p>Phone {{ mymember.phone }}</p>
  <p>Member since: {{ mymember.joined_date }}</p>
  
  <p>Back to <a href="/members">Members</a></p>
  
{% endblock %}

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

نمایش نتیجه

سرور را اجرا کن و آدرس اعضا را باز کن. اگر سرور خاموش است، دوباره اجرا کن.

python manage.py runserver

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

جمع بندی سریع

  • قالب مادر می سازد: عنوان و محتوا.
  • قالب ها با {% extends %} ارث می برند.
  • فقط بلوک ها را در فرزندها پر کن.
  • کدهای تکراری حذف می شود.

برای لینک دار کردن لیست، راهنمای افزودن لینک به جزئیات را ببین. سپس برای ادامه مسیر، به افزودن صفحه اصلی سر بزن.