افزودن قالب مادر (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 %} ارث می برند.
- فقط بلوک ها را در فرزندها پر کن.
- کدهای تکراری حذف می شود.
برای لینک دار کردن لیست، راهنمای افزودن لینک به جزئیات را ببین. سپس برای ادامه مسیر، به افزودن صفحه اصلی سر بزن.