Django Academy · درس

STATICFILES ووسم static

تنظيم الأصول والإشارة إليها

الدرس 1 من 413 خطوة

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

ما هي الملفات الثابتة

لا تتغير ملفات CSS وJavaScript وصور التصميم الخاصة بك مع كل طلب. يطلق Django على هذه الملفات اسم static files ويقدمها منفصلة عن مشاهد Python الخاصة بك. 🎨

تطبيق static

يأتي Django مع django.contrib.staticfiles ضمن INSTALLED_APPS افتراضيًا. فهو يعثر على أصولك ويجمعها ويقدمها، حتى لا تضطر إلى إعداد ذلك يدويًا.

INSTALLED_APPS = [
    'django.contrib.staticfiles',
]

مكان تخزين الملفات

وفقًا للعرف المتبع، تحتفظ بأصول التطبيق داخل مجلد باسم static بجوار مشاهد التطبيق وقوالبه. يفحص Django كل تطبيق بحثًا عن هذا المجلد.

blog/
  static/
    blog/
      style.css

سمِّ مجلدك ضمن مساحة أسماء

ضع الأصول داخل مجلد فرعي يطابق اسم التطبيق، مثل static/blog/. تمنع مساحة الأسماء هذه تطبيقين من استبدال style.css الخاص بأحدهما بملف الآخر.

إعداد STATIC_URL

يحدد الإعداد STATIC_URL بادئة المسار العامة التي تستخدمها المتصفحات لجلب الأصول. تُوجَّه الطلبات التي تبدأ بهذه البادئة إلى ملفاتك الثابتة.

STATIC_URL = '/static/'

تحميل وسم static

للإشارة إلى الأصول في قالب، حمّل أولًا مكتبة الوسوم باستخدام load static في أعلى الملف تمامًا.

{% load static %}

استخدام وسم static

يحوّل وسم static مسار الأصل النسبي إلى عنوان URL كامل وصحيح، لذلك لن تضطر أبدًا إلى تضمين STATIC_URL مباشرةً في HTML.

<link rel="stylesheet" href="{% static 'blog/style.css' %}">

لماذا لا نكتب المسار مباشرةً

إذا كتبت /static/blog/style.css يدويًا، فإن تغيير STATIC_URL لاحقًا سيعطل كل صفحة. يحافظ وسم static على مرونة روابطك. ✅

ربط JavaScript

يعمل وسم static نفسه مع أي نوع من الأصول. وجّه وسم script إلى ملف JS، وسيتولى Django حل المسار نيابةً عنك.

<script src="{% static 'blog/app.js' %}"></script>

STATICFILES_DIRS

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

STATICFILES_DIRS = [BASE_DIR / 'assets']

الباحثون يتولون المهمة

في الخلفية، يتنقل static finders عبر مجلد static لكل تطبيق بالإضافة إلى STATICFILES_DIRS للعثور على الملف الذي يطلبه القالب.

تحقق سريع

لنتحقق من كيفية الإشارة إلى ملف ثابت في قالب.

مراجعة

تعلمت أن الملفات الثابتة هي ملفات CSS وJS الخاصة بك، وأنها تعيش في مجلدات static ذات مساحات أسماء، وأن وسم static ينشئ عناوين URL الخاصة بها بطريقة سليمة. 🎉

البدء مجانًا

تعلم Python مع معلم ذكاء اصطناعي — مجانًا

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

الدورات
30
الدروس
120

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

هل درس «STATICFILES ووسم static» مجاني؟

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

ماذا ستتعلم في «STATICFILES ووسم static»؟

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

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

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

كم من الوقت يستغرق درس «STATICFILES ووسم static»؟

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

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

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

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

  1. STATICFILES ووسم static
  2. collectstatic لبيئة Production
  3. MEDIA_ROOT وعمليات رفع الملفات
  4. ImageField وتقديم الملفات المرفوعة
← العودة إلى Django Academy