diff --git a/README.md b/README.md index a95cb53..2166d3a 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,16 @@ Compose خودش این رو مدیریت می‌کنه: 3. `django` هیچ وابستگی‌ای به استکِ لاگ نداره — خودش `migrate` بعد `runserver` رو اجرا می‌کنه و منتظرِ Loki/Alloy/Grafana نمی‌مونه. +### دستورهای manage.py داخلِ Docker +اگه فقط از طریقِ Docker اجرا می‌کنید (بدونِ venv محلی)، `python manage.py ...` رو مستقیم +روی سیستم خودتون اجرا نکنید — باید داخلِ کانتینرِ `django` اجرا بشه: +```bash +docker compose exec django python manage.py createsuperuser +docker compose exec django python manage.py seed_test_data +docker compose exec django python manage.py test +``` +(`migrate` نیازی به این نیست — طبقِ بالا، خودکار قبل از `runserver` اجرا می‌شه.) + ### مایگریشن‌ها ```bash python manage.py migrate --noinput @@ -177,3 +187,5 @@ curl -i -X POST https:///api/auth/session \ `generate_tutor_answer` در `ai_tutor/views.py` است. - ارسالِ OTP از طریقِ کاوه‌نگار (`KAVENEGAR_API_KEY`) انجام می‌شه؛ شکستِ ارسال به‌جای موفقیتِ ساختگی، خطای صریحِ `503` برمی‌گردونه. +- هر خطای پیش‌بینی‌نشده (نه فقط خطاهای شناخته‌شده‌ی API) همیشه پاسخِ JSON برمی‌گردونه، + نه صفحه‌ی HTML پیش‌فرضِ جنگو، و کامل با traceback لاگ می‌شه (`config/exceptions.py`).