0Pricing
Django Academy · درس

وراثة القوالب باستخدام extends وblock

أنشئ تخطيطًا أساسيًا واستبدل أقسامه

وراثة القوالب باستخدام extends وblock درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Stop Repeating Layout

Every page shares a header, nav, and footer. Template inheritance lets you write that shell once and reuse it everywhere. 🧱

Start with a Base

A base template holds the common HTML skeleton. Child pages will plug their unique content into spots you leave open.

base.html

Define a block

A block marks a section a child can replace. You name it, leave optional default content, then close it with endblock.

{% block content %}{% endblock %}

A Minimal Base File

This base wraps a title block and a content block in real HTML. Children will fill those two named holes.

<html><head><title>{% block title %}Site{% endblock %}</title></head>
<body>{% block content %}{% endblock %}</body></html>

Children Use extends

The extends tag must be the first line of a child template. It tells Django which base layout to build upon.

{% extends "base.html" %}

Override a block

In the child you redefine a block with the same name. Whatever you put inside replaces the base default for that page.

{% extends "base.html" %}
{% block content %}<h1>Welcome</h1>{% endblock %}

Unfilled Blocks Use Defaults

If a child skips a block, the base content shows instead. That makes a default a safe placeholder for shared text.

Keep Parent Content with super

Call block.super to keep the parent block content and add your own around it, instead of replacing it entirely.

{% block content %}{{ block.super }}<p>Extra</p>{% endblock %}

Inheritance Can Nest

A child can itself be a base for deeper pages. Layered layouts let sections share a sub-shell while still using the global one.

extends Goes First

Only one extends is allowed and it must lead the file. Anything before it, even a comment, breaks the inheritance.

Blocks Build Pages

Think of a page as a base full of blocks that children fill. This keeps every page consistent and edits in one place.

Quick Check

Recall how a child connects to its layout.

Recap: Write Layout Once

You learned to define blocks in a base and fill them with extends in children, even keeping parent content via block.super. Next: linking routes and assets.

الأسئلة الشائعة

هل درس «وراثة القوالب باستخدام extends وblock» مجاني؟

نعم — نص درس «وراثة القوالب باستخدام extends وblock» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.

ماذا ستتعلم في «وراثة القوالب باستخدام extends وblock»؟

أنشئ تخطيطًا أساسيًا واستبدل أقسامه تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟

لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «وراثة القوالب باستخدام extends وblock»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟

نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ‏render() وسياق القالب
  2. وسوم القوالب والمرشحات
  3. وراثة القوالب باستخدام extends وblock
  4. وسما url وstatic
← العودة إلى Django Academy