فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — جمع آوری فایل های استاتیک (Collect Static Files)

آخرین بروزرسانی: 1404/08/20

جمع آوری فایل های استاتیک (Collect Static Files)

در جنگو، «فایل استاتیک (Static File)» یعنی CSS، JS و تصویر. وقتی DEBUG=False باشد، سرویس دهنده خودکار نیست. بنابراین باید «جمع آوری فایل های استاتیک» انجام دهیم. سپس می توانیم آن ها را با وب سرور یا WhiteNoise سرو کنیم.

مراحل جمع آوری فایل های استاتیک

  1. یک پوشه مقصد با STATIC_ROOT در settings.py مشخص کن.
  2. دستور collectstatic را اجرا کن تا همه فایل ها کپی شوند.
  3. پوشه را بررسی کن و فایل ها را ببین.
  4. اگر WhiteNoise نصب است، سرو مستقیم انجام می شود.
  5. سرور را اجرا کن و خروجی را تست کن.

1) تنظیم STATIC_ROOT در settings.py

STATIC_ROOT پوشه نهایی فایل های استاتیک است. مانند انبار مدرسه برای وسایل ورزشی.

# my_tennis_club/my_tennis_club/settings.py
STATIC_ROOT = BASE_DIR / 'productionfiles'
STATIC_URL = 'static/'

مشاهده در ادیتور

نکته: نام پوشه مهم نیست؛ مهم هم خوانی تنظیم و استقرار است.

2) اجرای collectstatic

این دستور همه فایل های لازم را به پوشه مقصد کپی می کند. مثل جمع کردن برگه ها در یک کلاسور.

python manage.py collectstatic

مشاهده در ادیتور

128 static files copied to 'C:\\Users\\your_name\\myworld\\my_tennis_club\\productionfiles'.

مشاهده در ادیتور

نکته: تعداد زیاد به خاطر فایل های رابط کاربری ادمین است؛ فونت، CSS و JS.

3) استفاده از فایل استاتیک در قالب

برچسب static محل فایل را می سازد. مثل مسیریاب ساده برای فایل ها.

{% load static %}
<!DOCTYPE html>
<html>
<link rel="stylesheet" href="{% static 'myfirst.css' %}">
<body>
{% for x in fruits %}
  <h1>{{ x }}</h1>
{% endfor %}
</body>
</html>

مشاهده در ادیتور

برای سرو در تولید، نصب WhiteNoise کمک می کند.

4) اجرای سرور و تست خروجی

حالا سرور را اجرا کن و صفحه تست را ببین.

python manage.py runserver

مشاهده در ادیتور

نمونه منبع آدرس http://127.0.0.1:8000/testing/ را پیشنهاد می دهد.

هشدار: در تولید، DEBUG=False باشد و هدرهای کش درست تنظیم شوند.

برای ادامه کار با فایل ها، صفحه افزودن فایل های استاتیک سراسری را ببین.

راهنمای کامل «جمع آوری فایل های استاتیک» همیشه در دسترس است.

جمع بندی سریع

  • STATIC_ROOT را در تنظیمات مشخص کن.
  • collectstatic را اجرا کن و خروجی را چک کن.
  • فایل های ادمین حجم را بالا می برند؛ طبیعی است.
  • با WhiteNoise سرو کن یا وب سرور پیکربندی کن.
  • در تولید، DEBUG=False را فراموش نکن.