collectstatic لبيئة Production
جمع الملفات الثابتة للنشر
collectstatic لبيئة Production درس مجاني في Django Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Django Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Django Academy 4 دروس في المجموع.
التطوير مقابل الإنتاج
أثناء التطوير، يعثر Django على الملفات الثابتة ويقدمها نيابةً عنك. أما في production، فتكون هذه الخدمة التلقائية متوقفة، لذا يجب أن تجمع الأصول في مكان واحد أولًا.
تعرّف إلى collectstatic
ينسخ الأمر collectstatic كل ملف ثابت من كل تطبيق إلى مجلد إخراج واحد، ليكون جاهزًا ليقدمه خادم ويب بسرعة.
python manage.py collectstaticالوجهة STATIC_ROOT
يحتاج collectstatic إلى وجهة. يشير الإعداد STATIC_ROOT إلى المجلد الوحيد الذي ستُكتب فيه جميع الملفات المجمعة.
STATIC_ROOT = BASE_DIR / 'staticfiles'أبقِ المجلدات الجذرية منفصلة
لا تضبط STATIC_ROOT أبدًا على مجلد تعدّله يدويًا. فهو مجلد output مُنشأ تلقائيًا، ويُعاد بناؤه عند كل تشغيل لـ collectstatic.
ما الذي يجمعه
يجلب collectstatic الملفات من مجلد static لكل تطبيق ومن STATICFILES_DIRS، ثم يدمجها جميعًا في STATIC_ROOT في عملية واحدة.
تجاوز المطالبة
يسألك الأمر افتراضيًا قبل الاستبدال. أضف --noinput إلى نص النشر ليعمل دون تدخل ومن دون انتظارك.
python manage.py collectstatic --noinputمتى تشغّله
شغّل collectstatic عند كل عملية نشر بعد جلب الشيفرة الجديدة. ولن تصل ملفات CSS وJS الجديدة أو المعدلة إلى المستخدمين إلا بعد جمعها.
كسر التخزين المؤقت
تضيف واجهة ManifestStaticFilesStorage تجزئة المحتوى إلى اسم كل ملف، لتجلب المتصفحات دائمًا أحدث إصدار بعد النشر.
STATICFILES_STORAGE = (
'django.contrib.staticfiles.storage'
'.ManifestStaticFilesStorage')من يقدمها
لا يقدم Django نفسه STATIC_ROOT في بيئة الإنتاج. بل يقدم هذه الملفات خادم ويب مثل Nginx أو أداة مثل WhiteNoise.
تجاهل مخلفات البناء
أضف أنماط --ignore لتخطي الملفات التي لا تريد نسخها، مثل خرائط المصدر أو الملفات المؤقتة الموجودة في مجلد static.
python manage.py collectstatic --ignore=*.scssGit وSTATIC_ROOT
بما أن STATIC_ROOT مُنشأ تلقائيًا، أضفه إلى .gitignore. التزم بملفات الأصول المصدرية، لا بالنسخ المجمعة.
تحقق سريع
لنتأكد من دور collectstatic.
مراجعة
رأيت أن بيئة الإنتاج تحتاج إلى collectstatic لدمج الأصول في STATIC_ROOT، وأنه يجب تشغيله عند كل عملية نشر، وأن خادم الويب يقدم النتيجة. 🚀
تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «collectstatic لبيئة Production» مجاني؟
نعم — نص درس «collectstatic لبيئة Production» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Django Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Django Academy 4 دروس في المجموع.
ماذا ستتعلم في «collectstatic لبيئة Production»؟
جمع الملفات الثابتة للنشر تتمرن على Django Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Django Academy؟
لا تُشترط خبرة سابقة. Django Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «collectstatic لبيئة Production»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Django Academy هذا؟
نعم. كل درس في Django Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- STATICFILES ووسم static
- collectstatic لبيئة Production
- MEDIA_ROOT وعمليات رفع الملفات
- ImageField وتقديم الملفات المرفوعة