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: |

Activate up to 20 bots As five out of seven counts were serious, Hui sentenced Ng to six years and six months in jail. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation.
from us


Telegram جنگولرن
FROM American