درود
استاد من وقتی میگیرم استایل تغیر میدم یا یه پروژه دیگه ران سرور میکنم خب مرورگر استایل ها و قالب کش میکنه تا بار دوم کل سایت لود نشه بعضی وقتا نیازه کش رو با ctr shift delete پاک کنم ، خب فرض کنید یه پروژه درست کردم روی هاست گذاشتم و من بعدش به عنوان آپدیت ، استایل سایت تغیر میدم به کل ، در این حالت کش کاربر چی میشه ؟ استایل قبلی منو نشون میده خب من در این صورت چیکار کنم ؟
سلام خدمت شما دوست عزیز
سوال بسیار خوبی پرسیدید
برای حل این مشکل چندین روش وجود داره دوست من
اول اینکه میتونید از سیستم داخلی جنگو برای ایجاد نسخه ی 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/
در این رابطه پکیج های زیادی وجود دارن و استفاده از اونها دلخواه هستش