DJANGOLEARN_IR Telegram 1138
جنگولرن
با لود نشدن فایل های استاتیک و سرو کردنشون توی وب سرور مشکل دارید؟ و هر بار یادتون میره راه درستش چیه؟
نکته هایی در مورد فایل های استاتیک جنگو – بخش سوم - آخر

توی دو بخش قبل گفتبم جنگو چطور فایل های استاتیک رو مدیریت میکنه.
حالا میخواهیم ببینیم توی development و production چه فرقی هست؟

وقتی debug=true باشه (یعنی حالت development) جنگو خودش فایل های استاتیک رو سرو میکنه.
این برای تست کافیه، ولی روی سرور واقعی (production) اصلاً توصیه نمیشه. چون هم کند ع هم امن نیست. (توضیح اینو توی کامنت همین پست میزارم)

توی production باید (بهتره) وب سرور (مثل nginx یا apache) فایل های استاتیک رو سرو کنن.
برای همین دستور collectstatic رو اجرا میکنیم تا همه فایل ها توی یه پوشه (همون STATIC_ROOT) جمع بشن و بعد اون مسیر رو برای وب سرور مشخص می کنیم.

فرض کن STATIC_ROOT ما اینه:

/home/youruser/myproject/staticfiles/


توی nginx معمولا اینجوری می نویسیم:
location /static/ {
alias /home/youruser/myproject/staticfiles/;
}

اینجا alias ینی:
هر وقت کاربر آدرس /static/... خواست، nginx برو سراغ پوشه staticfiles/ و ادامه مسیر رو اونجا پیدا کن.

مثلا:

/static/css/style.css


تبدیل میشه به:

/home/youruser/myproject/staticfiles/css/style.css


یه دستور دیگه هم هست به اسم root:
location /static/ {
root /home/youruser/myproject/;
}

اینجا مسیر /static/ از URL حذف نمیشه و میچسبه به آخر root.

مثلا همون آدرس ع بالا:

/static/css/style.css

میشه:

/home/youruser/myproject/static/css/style.css


فرق شون چی شد؟

اون alias - بخش location (یعنی /static/) رو کنار می ذاره.

اون root - بخش location رو نگه میداره و به مسیر اضافه می کنه.

کلمه اون رو گذاشتم اولشون که راست چین بشن این دو تا خط بالایی 😁

برای همین ما معمولا برای static files از alias استفاده میکنیم.

اسپانسر این پست 👈 لینک
14👍3👏2



tgoop.com/djangolearn_ir/1138
Create:
Last Update:

نکته هایی در مورد فایل های استاتیک جنگو – بخش سوم - آخر

توی دو بخش قبل گفتبم جنگو چطور فایل های استاتیک رو مدیریت میکنه.
حالا میخواهیم ببینیم توی development و production چه فرقی هست؟

وقتی debug=true باشه (یعنی حالت development) جنگو خودش فایل های استاتیک رو سرو میکنه.
این برای تست کافیه، ولی روی سرور واقعی (production) اصلاً توصیه نمیشه. چون هم کند ع هم امن نیست. (توضیح اینو توی کامنت همین پست میزارم)

توی production باید (بهتره) وب سرور (مثل nginx یا apache) فایل های استاتیک رو سرو کنن.
برای همین دستور collectstatic رو اجرا میکنیم تا همه فایل ها توی یه پوشه (همون STATIC_ROOT) جمع بشن و بعد اون مسیر رو برای وب سرور مشخص می کنیم.

فرض کن STATIC_ROOT ما اینه:

/home/youruser/myproject/staticfiles/


توی nginx معمولا اینجوری می نویسیم:
location /static/ {
alias /home/youruser/myproject/staticfiles/;
}

اینجا alias ینی:
هر وقت کاربر آدرس /static/... خواست، nginx برو سراغ پوشه staticfiles/ و ادامه مسیر رو اونجا پیدا کن.

مثلا:

/static/css/style.css


تبدیل میشه به:

/home/youruser/myproject/staticfiles/css/style.css


یه دستور دیگه هم هست به اسم root:
location /static/ {
root /home/youruser/myproject/;
}

اینجا مسیر /static/ از URL حذف نمیشه و میچسبه به آخر root.

مثلا همون آدرس ع بالا:

/static/css/style.css

میشه:

/home/youruser/myproject/static/css/style.css


فرق شون چی شد؟

اون alias - بخش location (یعنی /static/) رو کنار می ذاره.

اون root - بخش location رو نگه میداره و به مسیر اضافه می کنه.

کلمه اون رو گذاشتم اولشون که راست چین بشن این دو تا خط بالایی 😁

برای همین ما معمولا برای static files از alias استفاده میکنیم.

اسپانسر این پست 👈 لینک

BY جنگولرن


Share with your friend now:
tgoop.com/djangolearn_ir/1138

View MORE
Open in Telegram


Telegram News

Date: |

"Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): 4How to customize a Telegram channel? “[The defendant] could not shift his criminal liability,” Hui said. Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020.
from us


Telegram جنگولرن
FROM American