مشکلات احتمالی
در این قسمت مشکلات احتمالی که در سرویس django
ممکن است با آن برخورد کنیم را بررسی کرده و راه حل آن را نیز مشاهده میکنیم.
کار نکردن CSS پنل ادمین
در صورتی که مشکل کار نکردن پنل ادمین را داشتید و یا سی اس اس پنل ادمین یا وبسایت شما دچار مشکل شده و از کار افتاده بود و یا مشکلاتی در JS(کدهای جی اسی) داشته اید، میتوانید با استفاده از روش زیر این مشکل را بر طرف نمایید.
در برنامه های Django
برای رفع مشکل لود نشدن فایل های static
لازم است مسیر static
و media
را در فایل settings.py
برنامه خودتان به صورت صحیح معرفی کنید.
MEDIA_ROOT = BASE_DIR / 'media'
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATIC_ROOT = BASE_DIR / 'static'
مشکل Invalid HTTP_HOST
در صورت برخورد با ارور 404
و یا مشکل ALLOWED_HOSTS
میتوانید با استفاده از روش زیر این مشکل را بر طرف نمایید.
در برنامه های Django
برای رفع مشکل ALLOWED HOSTS
می بایست متغیر ALLOWED_HOSTS
را در فایل settings.py
با آدرس دامنه ای که استفاده می کنید مقدار دهی نمایید.
ALLOWED_HOSTS = ["https://test.chbk.run"]
ارور CSRF verification failed
در صورت برخورد با ارور csrf و یا مشکل توکن سی آر اس اف میتوانید با استفاده از روش زیر این مشکل را بر طرف نمایید.
در برنامه های Django
برای رفع مشکل CSRF Token
می بایست متغییر CSRF_TRUSTED_ORIGINS
را در فایل settings.py
با آدرس دامنه ای که استفاده می کنید مقدار دهی نمایید.
CSRF_TRUSTED_ORIGINS = ["https://test.chbk.run"]
مشکل WSGI
در پلتفرم Django
برای استقرار به فایل wsgi
نیاز هست تا سرویس بتواند کار خود را انجام دهد. در سرویس Django
چابکان به صورت خودکار مسیر این فایل شناسایی می شود. اما گاهی اوقات با توجه به ساختار برنامه شما ممکن هست این شناسایی خودکار با مشکل مواجه شود. برای رفع این مشکل شما باید مسیر wsgi
پروژه تان را از طریق تنظیمات سرویس قسمت متغیر ها به چابکان معرفی کنید.
# name : value
WSGI_PATH : my_app_name.wsgi
مشکل ERR_TOO_MANY_REDIRECTS
در صورت برخورد با ارور ERR_TOO_MANY_REDIRECTS در جنگو میتوانید موارد زیر را بررسی بفرمایید تا مشکل رفع شود.
ابتدا در صورتی که دامنه به سرویس خود متصل کرده اید، از قسمت تنظیمات دامنه > تنظیمات HTTPS
گزینه انتقال خودکار HTTP به HTTPS را غیر فعال نمایید و بعد از گذشت چند دقیقه وبسایت خود را چک نمایید.
سپس در صورت بر طرف نشدن خطا، به مدیریت فایل سرویس رفته و در فایل settings.py
برنامه خود SECURE_SSL_REDIRECT
را برابر False
قرار دهید:
SECURE_SSL_REDIRECT = False
خطای CORS در جنگو
در صورت برخورد با ارور CORS No Allow Credentials
و یا CORS Missing Allow Header
میتوانید از راه حل زیر استفاده نمایید.
برای حل مشکل میتوانید از این پکیج استفاده نمایید و بعد از نصب و استفاده از پکیج در برنامه خود، میبایست موارد زیر را نیز در قسمت settings.py
برنامه خود معرفی نمایید.
CORS_ALLOWED_ORIGINS = [
"https://your-site-url.com",
]
CORS_ALLOW_METHODS = [
"DELETE",
"GET",
"OPTIONS",
"PATCH",
"POST",
"PUT",
]
برخورد با ImportError
در صورت مواجه شدن با ارور زیر میتوانید ورژن جنگوی خود را تغییر داده تا مشکل برطرف شود.
ImportError: cannot import name 'decodestring' from 'base64' (/usr/local/lib/python3.9/base64.py)
مشکل اجرا نشدن سرویس
در صورت برخورد با ارور Not Found requirements.txt file in /app
و یا project structure is not correct
میتوانید با استفاده از روش زیر این ارور را برطرف نمایید.
کافیست تا فایل requirements.txt
را در پوشه /app
برنامه خود معرفی نمایید.