وحدات الماكرو للترميز المتكرر
اكتب دوال قوالب لتجنّب النسخ واللصق.
وحدات الماكرو للترميز المتكرر درس مجاني في Flask Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Flask Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Flask Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Repeated Markup Begs for a Function
When the same input field or card markup appears with small tweaks, copying it gets messy. A macro turns that pattern into a reusable function. 🛠️
What a Macro Is
A macro is a template function: you define markup once with parameters, then call it many times with different arguments.
Define a Macro
You declare a macro with a name and parameters, write its markup, and close it with endmacro. It is reusable from then on.
{% macro field(name) %}
<input name="{{ name }}">
{% endmacro %}Call a Macro
Invoke a macro like a function, passing arguments. Jinja2 renders the macro body with those values right where you call it.
{{ field("email") }}Parameters Customize Output
Macro parameters let one definition produce many variations, such as different input types or labels, from a single source of markup.
{% macro field(name, type="text") %}
<input name="{{ name }}" type="{{ type }}">
{% endmacro %}Default Argument Values
Give parameters defaults so common calls stay short. Callers override a default only when they need something different.
{{ field("age", type="number") }}Keep Macros in Their Own File
Store shared macros in a file like forms.html so many templates can import and reuse the same helpers.
{% import "forms.html" as forms %}Import Then Call
After import, call a macro through its namespace. This keeps your macro library separate from the page using it.
{{ forms.field("email") }}Import Specific Macros
Use from import to pull just the macros you need by name, keeping the template clean and the intent obvious.
{% from "forms.html" import field %}Macros vs Includes
An include drops fixed markup; a macro takes arguments and varies its output. Reach for macros when the snippet must change per call.
DRY Templates at Last
Macros remove copy-paste from your templates: fix the field markup once and every call site updates. That is templating done right. ✨
Quick Check
What makes a macro different from an include?
Recap: Macros
A macro is a reusable, parameterized template function. Define it once, import it, and call it anywhere to keep templates DRY. 🎯
الأسئلة الشائعة
هل درس «وحدات الماكرو للترميز المتكرر» مجاني؟
نعم — نص درس «وحدات الماكرو للترميز المتكرر» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Flask Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Flask Academy 4 دروس في المجموع.
ماذا ستتعلم في «وحدات الماكرو للترميز المتكرر»؟
اكتب دوال قوالب لتجنّب النسخ واللصق. تتمرن على Flask Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Flask Academy؟
لا تُشترط خبرة سابقة. Flask Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «وحدات الماكرو للترميز المتكرر»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Flask Academy هذا؟
نعم. كل درس في Flask Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تعريف قالب أساسي باستخدام الكتل
- تمديد القالب الأساسي في الصفحات الفرعية
- تضمين الأجزاء القابلة لإعادة الاستخدام
- وحدات الماكرو للترميز المتكرر