הורשה של תבניות
חלק מהיחידה יסודות Django במסלול ה-Django של Coddy. שיעור 17 מתוך 23.
home.html ו-drinks.html חוזרים כל אחד על אותו <head>, ובקרוב גם על סרגל ניווט. משנים את המסגרת, וצריך לערוך כל קובץ. במקום זאת, תבנית אחת מספקת את המסגרת, והדפים ממלאים אותה.המסגרת מסמנת את החלק שהדף ממלא באמצעות תגית {% block %} ושם. library/base.html של ספרייה:
<body>
<nav>...</nav>
<article>{% block body %}{% endblock %}</article>
</body>דף מתחיל ב-{% extends %}, ואז ממלא את הבלוק:
{% extends "library/base.html" %}
{% block body %}
<p>We are open until 20:00.</p>
{% endblock %}{% extends %} חייבת להיות התגית הראשונה. בדף שיורש מדף אחר, כל מה שמחוץ לבלוק נמחק: כותרת ששכחת לעטוף נעלמת.אתגר
בינוני- ב־
base.html, הוסיפו בתוך<main>בלוק ריק בשםcontent. - גרמו ל־
home.htmlול־drinks.htmlלרשת את"menu/base.html", והציבו את ה־HTML שלהן בתוך הבלוק הזה.
לחצו על Run: בשני הדפים מוצג סרגל הניווט מתוך base.html.
נסו בעצמכם
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Corner Café</title>
</head>
<body>
<nav>
<a href="{% url 'menu:home' %}">Home</a>
<a href="{% url 'menu:drinks' %}">Drinks</a>
<a href="{% url 'menu:about' %}">About</a>
</nav>
<main>
<!-- each page's content goes here -->
</main>
</body>
</html>
כל השיעורים ביחידה יסודות Django
תרגלו בעצמכם: Django אונליין