• 1405/03/21

آپدیت های سایت و دید کاربر از آن :

درود 

استاد من وقتی میگیرم استایل تغیر میدم یا یه پروژه دیگه ران سرور میکنم خب مرورگر استایل ها و قالب کش می‌کنه تا بار دوم کل سایت لود نشه بعضی وقتا نیازه کش رو با ctr shift delete پاک کنم ، خب فرض کنید یه پروژه درست کردم روی هاست گذاشتم و من بعدش به عنوان آپدیت ، استایل سایت  تغیر میدم به کل  ، در این حالت کش کاربر چی میشه ؟ استایل قبلی منو نشون میده خب من در این صورت چیکار کنم ؟

  • 1405/03/21
  • ساعت 22:10

سلام خدمت شما دوست عزیز

سوال بسیار خوبی پرسیدید

برای حل این مشکل چندین روش وجود داره دوست من

اول اینکه میتونید از سیستم داخلی جنگو برای ایجاد نسخه ی hash شده ی فایل های static استفاده کنید

به این صورت که توی فایل settings.py این کد رو اضافه کنید :

STORAGES = {
    "staticfiles": {
        "BACKEND": "django.contrib.staticfiles.storage.ManifestStaticFilesStorage",
    },
}

اطمینان حاصل کنید که DEBUG حتما False باشه

بعد دستور collectstatic رو بزنید. مشاهده میکنید که فایل ها با یک اسم hash جدید توی static_cdn ایجاد میشن

و جنگو به صورت خودکار فایل ها رو track میکنه ( بر اساس تغییراتی که دادید )

یا اینکه میتونید از پکیج های thrid-party استفاده کنید:

https://github.com/meeb/django-cachekiller

یا این پکیج :

https://pypi.org/project/django-versioned-static/

 

در این رابطه پکیج های زیادی وجود دارن و استفاده از اونها دلخواه هستش