محتوى كتلة Django هو عنصر HTML يستخدم لعرض محتوى ديناميكي من Django. يمكن استخدامه لعرض محتوى من نماذج Django، أو من وظائف Django، أو من مصادر أخرى.
لإنشاء محتوى كتلة Django، نستخدم عنصر {% block %}
. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض اسم المستخدم الحالي للمستخدم كما يلي:
{% block content %}
<h1>مرحبًا، {{ user.username }}!</h1>
{% endblock %}
في هذا المثال، نستخدم عنصر {% block content %}
لتحديد محتوى الكتلة. ثم، نستخدم تعبير Django لعرض اسم المستخدم الحالي للمستخدم.
يمكننا أيضًا استخدام محتوى كتلة Django لعرض محتوى من نماذج Django. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض قائمة بالعناصر كما يلي:
{% block content %}
<ul>
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endblock %}
في هذا المثال، نستخدم عنصر {% for %}
لعرض قائمة بالعناصر. ثم، نستخدم تعبير Django لعرض كل عنصر في القائمة.
يمكننا أيضًا استخدام محتوى كتلة Django لعرض محتوى من وظائف Django. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض نتيجة دالة كما يلي:
{% block content %}
{{ some_function() }}
{% endblock %}
في هذا المثال، نستخدم تعبير Django لعرض نتيجة دالة.
يمكننا أيضًا استخدام محتوى كتلة Django لعرض محتوى من مصادر أخرى. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض محتوى من ملف JSON كما يلي:
{% block content %}
{{ json_data|safe }}
{% endblock %}
في هذا المثال، نستخدم تعبير Django لعرض محتوى من ملف JSON.
يمكننا أيضًا استخدام محتوى كتلة Django لعرض محتوى مشروط. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض رسالة إذا كان المستخدم مسجلاً الدخول كما يلي:
{% block content %}
{% if user.is_authenticated %}
<p>مرحبًا، {{ user.username }}!</p>
{% else %}
<p>يجب عليك تسجيل الدخول أولاً.</p>
{% endif %}
{% endblock %}
في هذا المثال، نستخدم تعبير Django لتحديد ما إذا كان المستخدم مسجلاً الدخول. ثم، نعرض رسالة مناسبة بناءً على نتيجة التعبير.
يمكننا أيضًا استخدام محتوى كتلة Django لعرض محتوى ديناميكي باستخدام تعبيرات Django. على سبيل المثال، يمكننا إنشاء محتوى كتلة Django لعرض قائمة بالعناصر مع عداد كما يلي:
{% block content %}
<ul>
{% for item in items %}
<li>{{ forloop.counter }}. {{ item }}</li>
{% endfor %}
</ul>
{% endblock %}
في هذا المثال، نستخدم تعبير forloop.counter
لعرض عداد لكل عنصر في القائمة.
ليست هناك تعليقات:
إرسال تعليق