اگر دنبال چیزی میگردی

راه‌اندازی پروژه جنگو (Django)

جدول محتوا

بررسی اجمالی

فریمورک Django را می‌تواند معروف‌ترین فریمورک وب زبان برنامه‌نویسی پایتون به شمار آورد که با استفاده از آن می‌توانید وب اپلیکیشن‌های مورد نظر خود را ایجاد کنید، حالا شما با راه‌اندازی کردن سرور بر روی پچیم به ساد‌گی می‌توانید پروژه‌های Django خود را راه‌اندازی کنید.

نکته بسیار مهم

دقت کنید برای آنکه دامنه شما به سایت‌تان که با پَچیم راه‌اندازی می‌کنید متصل شود، باید دامنه مورد نظرتان را به سرور خود متصل کنید که این کار را از طریق راهنمای اتصال دامنه به سایت برای‌تان توضیح داده‌ایم.

راه‌اندازی پروژه‌ Django

برای شروع وارد لیست سایت‌های سرور خود در پچیم شوید و بر روی سایت جدید کلیک کنید، از بخش برنامه‌های اصلی جنگو (Django) را انتخاب کنید و بر روی نصب و راه‌اندازی کلیک کنید.

بعد از ایجاد سایت، وارد پنل سایت مورد نظر در پچیم شوید و از بخش ریپازیتوری (Repository)، پروژه‌ای جنگو خود را نصب و راه‌اندازی کنید. اگر برنامه جنگو شما دارای فایل .env است بعد از نصب پروژه خود از طریق repository وارد بخش متغییرهای محیط برنامه شوید و پیکربندی مورد نظر خود را اعمال کنید.

در نهایت با رفتن به صفحه جنگو (Django) در پنل سایت در پچیم، ابتدا تنظیمات مورد نظر خود را مشخص کنید و بعد بر روی دکمه راه‌اندازی Django کلیک کنید، بعد از چند دقیقه می‌توانید وارد آدرس وبسایت مورد نظرتان شوید و چک کنید آیا سایتتان با موفقیت بالا آمده است یا خیر.

قرار دادن آدرس دامنه در settings.py

نکته بسیار مهم

پیشنهاد می‌کنیم حتما در برنامه‌ خود از فایل .env بهره ببرید تا بتوانید ساده‌تر متغییرهای محیط برنامه خود را تغییر دهید. پروژه بدون .env اصلا پروژه نیست :)

برای اضافه کردن دامنه به لیست 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 به شکل پیش فرض در اسکریپت استقرار پروژه شما قرار می‌گیرد تا با هر بار استقرار این دستور یکبار اجرا شود، اگر به هر دلیل مایل نیستید این دستور اجرا شود می‌توانید آن را از اسکریپت استقرار پروژه خود حذف کنید.

نکته بسیار مهم

در صورتی که قصد اجرای دستور python3 manage.py collectstatic را دارید ابتدا باید به فایل settings.py مقدار STATIC_ROOT را اضافه کنید برای اینکار می‌توانید از مقدار زیر برای نمونه استفاده کنید.

# 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 را بر اساس نیاز خود افزایش یا کاهش دهید.

تغییر این صفحه در گیت‌هاب