فهرست سرفصل‌های 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 — افزودن فایل های استاتیک سراسری (Add Global Static Files)

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

افزودن فایل های استاتیک سراسری (Add Global Static Files)

گاهی یک «فایل استاتیک سراسری (Global Static File)» می خواهیم. یعنی CSS یا JS که همه اپ ها استفاده کنند. پس باید یک پوشه سراسری بسازیم و به جنگو معرفی کنیم. سپس می توانیم فایل را در همه قالب ها فراخوانی کنیم.

مراحل ساخت پوشه سراسری

  1. در ریشه پروژه یک پوشه بساز. نام دلخواه است.
  2. فایل های سراسری را آن جا قرار بده.
  3. مسیر پوشه را در تنظیمات معرفی کن.

1) ساخت پوشه mystaticfiles

ریشه پروژه مانند حیاط مدرسه است. این پوشه انبار مشترک وسایل است.

my_tennis_club
  db.sqlite3
  manage.py
  my_tennis_club/
  members/
  mystaticfiles/

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

2) افزودن فایل CSS سراسری

یک فایل بساز و استایل ساده بگذار. این فایل همه جا در دسترس است.

# my_tennis_club/mystaticfiles/myglobal.css
body {
  color: violet;
}

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

تغییر تنظیمات (STATICFILES_DIRS)

«STATICFILES_DIRS» یعنی فهرست پوشه های سراسری. جنگو از این مسیرها فایل می خواند.

# my_tennis_club/my_tennis_club/settings.py
STATIC_ROOT = BASE_DIR / 'productionfiles'
STATIC_URL = 'static/'
STATICFILES_DIRS = [
  BASE_DIR / 'mystaticfiles'
]

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

نکته: ترتیب پوشه ها مهم است. اگر نام تکراری باشد، اولین فایل استفاده می شود.

استفاده در قالب با برچسب static

برچسب «static» یک مسیر وب معتبر می سازد. مثل مسیر کوتاه شده امن.

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

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

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

پس از افزودن فایل سراسری، دوباره «collectstatic» اجرا کن. این کار کلاسور را به روز می کند.

python manage.py collectstatic

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

اجرای سرور و نتیجه

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

python manage.py runserver

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

برای آشنایی با جمع آوری، صفحه جمع آوری فایل های استاتیک را ببین.

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

جمع بندی سریع

  • پوشه سراسری بساز و فایل را آن جا بگذار.
  • مسیر را در STATICFILES_DIRS معرفی کن.
  • قالب را با برچسب static به روز کن.
  • collectstatic را دوباره اجرا کن.
  • ترتیب جست وجو در نام های تکراری مهم است.