رفع خطای Django POST URL error جنگو
در این نوشته روش حل مشکل You called this URL via POST, but the URL doesn’t end in a slash and you have APPEND_SLASH set. Django can’t redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/add/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings. را آموزش خواهیم داد.
رفع خطای Django POST URL error
متن خطا به شکل زیر است:
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/add/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
برای رفع این مشکل اگر یک فرم دارید و ویژگی action آن به شکل زیر است:
http://127.0.0.1/add
or
/add
کافیست آن را به شکل زیر کنید:
http://127.0.0.1/add/
or
/add/
و مشکل شما حل میشود. مشکل اینجا بود که آخر action باید حتما یک کاراکتر اسلش / شود.
اگر مشکلی در زمینهی فریمورک جنگو دارید در بخش نظرات همین نوشته برای ما بنویسید.


















جواب داد
موفق باشین
بازم اگه ارور POST URL اومد راهحل دیگهای وجود داره؟
بله، اگر همچنان با خطای POST URL مواجه شدید، میتوانید با تنظیم APPEND_SLASH = False در فایل settings.py جنگو، این مشکل را حل کنید.
برای urlهایی که با reverse یا {% url %} تولید میشن هم لازمه دستی اسلش بذاریم؟
خیر، اگر از reverse یا تگ {% url %} استفاده میکنید، جنگو به طور خودکار اسلش انتهایی را اضافه میکند و نیازی به دخالت دستی نیست.
من APPEND_SLASH رو False کردم درست شد، فرقی با اسلش آخر داره؟
هر دو روش درست هستند و بستگی به ترجیح شما دارد. استفاده از اسلش آخر باعث میشود جنگو به طور خودکار URL را با اسلش کامل کند، در حالی که غیرفعال کردن `APPEND_SLASH` این کار را متوقف میکند.
مرسی بابت کد
موفق باشین