بررسی اجمالی #
فریمورک Django را میتواند معروفترین فریمورک وب زبان برنامهنویسی پایتون به شمار آورد که با استفاده از آن میتوانید وب اپلیکیشنهای مورد نظر خود را ایجاد کنید، حالا شما با راهاندازی کردن سرور بر روی پچیم به سادگی میتوانید پروژههای Django خود را راهاندازی کنید.
راهاندازی پروژه Django #
برای شروع وارد لیست سایتهای سرور خود در پچیم شوید و بر روی سایت جدید کلیک کنید، از بخش برنامههای اصلی جنگو (Django) را انتخاب کنید و بر روی نصب و راهاندازی کلیک کنید.
بعد از ایجاد سایت، وارد پنل سایت مورد نظر در پچیم شوید و از بخش ریپازیتوری (Repository)، پروژهای جنگو خود را نصب و راهاندازی کنید. اگر برنامه جنگو شما دارای فایل .env است بعد از نصب پروژه خود از طریق repository وارد بخش متغییرهای محیط برنامه شوید و پیکربندی مورد نظر خود را اعمال کنید.
در نهایت با رفتن به صفحه جنگو (Django) در پنل سایت در پچیم، ابتدا تنظیمات مورد نظر خود را مشخص کنید و بعد بر روی دکمه راهاندازی Django کلیک کنید، بعد از چند دقیقه میتوانید وارد آدرس وبسایت مورد نظرتان شوید و چک کنید آیا سایتتان با موفقیت بالا آمده است یا خیر.
قرار دادن آدرس دامنه در settings.py #
برای اضافه کردن دامنه به لیست ALLOWED_HOSTS در برنامه Django، باید تغییراتی در فایل تنظیمات settings.py برنامه اعمال کنید. در زیر چند خط کد توضیح داده شده است که شما میتوانید آنها را به فایل settings.py اضافه کنید:
فایل settings.py برنامه Django خود را برای ویرایش باز کنید. این فایل معمولاً در دایرکتوری اصلی پروژه با نام settings.py قرار دارد.
خط زیر که مربوط به تنظیم ALLOWED_HOSTS است را پیدا کنید:
ALLOWED_HOSTS = []
دامنه مورد نظر خود را به لیست ALLOWED_HOSTS اضافه کنید. میتوانید دامنههای مجاز را به صورت رشته یا با استفاده از عبارت منظم (regular expression) تعریف کنید. به عنوان مثال:
ALLOWED_HOSTS = ['example.com', 'www.example.com']
یا اگر میخواهید همه دامنهها را مجاز کنید، میتوانید از عبارت منظم زیر استفاده کنید:
import re
ALLOWED_HOSTS = [re.compile(r'^.*$')]
فایل settings.py را ذخیره کنید و ببندید.
حالا Django به عنوان میزبانهای مجاز، دامنههای مورد نظر شما را قبول میکند. حتماً توجه داشته باشید که فقط دامنههایی را به لیست ALLOWED_HOSTS اضافه کنید که میخواهید برنامه شما با آن آدرس بالا بیاید.
دستور collectstatic #
با ایجاد یک سایت جنگو در پچیم و نصب مخزن گیت پروژه دستور python3 manage.py collectstatic --noinput
به شکل پیش فرض در اسکریپت استقرار پروژه شما قرار میگیرد تا با هر بار استقرار این دستور یکبار اجرا شود، اگر به هر دلیل مایل نیستید این دستور اجرا شود میتوانید آن را از اسکریپت استقرار پروژه خود حذف کنید.
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.1/howto/static-files/
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")
رفع خطای CORS #
درصورتی که Headerهای مربوط به CORS را با استفاده از پکیج django-cors-headers، در Middleware برنامهی خود تنظیم کردهاید باید CORS_ALLOWED_ORIGINS و CORS_ALLOW_METHODS را نیز در فایل settings.py تعریف کرده باشید:
CORS_ALLOWED_ORIGINS = [
"https://example.com",
"https://www.example.com",
]
CORS_ALLOW_METHODS = [
"DELETE",
"GET",
"OPTIONS",
"PATCH",
"POST",
"PUT",
]
افزایش محدودیت حجم آپلود فایل #
در پچیم و پروژههای جنگو به شکل پیشفرض حداکثر حجم مجاز آپلود 100 مگابایت قرار داده شده است، اما اگر قصد دارید این محدودیت را کمتر یا برعکس بیشتر کنید تنها کافیست بر روی ویرایش فایل در پنل سایت پچیم کلیک کنید و بعد ویرایش پیکربندی nginx را بزنید.
در صفحهای که برایتان باز میشود تنها کافیست مقدار client_max_body_size
را بر اساس نیاز خود افزایش یا کاهش دهید.