021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

اسلش های دنباله دار URL در جنگو

با سلام خدمت تمامی شما مخاطبان خوب وبسایت پایتونی ها با یک آموزش دیگه در خدمت شما دوستداران زبان برنامه نویسی پایتون در خدمتتون هستیم تا در مورد URL در جنگو با هم به یادگیری بپردازیم.

در میان بسیاری از ویژگی های داخلی جنگو APPEND_SLASH است که به طور پیش فرض روی True تنظیم شده است و به طور خودکار یک اسلش / به URL ها اضافه می کند که در غیر این صورت اگر آن ادرس وجود نداشته باشد شما به صفحه ی 404 منتقل خواهید شد.

نکته* :: مرورگر وب کروم به طور خودکار یک اسلش / انتهایی را به نشانی‌های وب اضافه می‌کند، بنابراین باید از چیزی مانند Safari استفاده کنید تا آن را به صورت درست ببینید.

 

برای مثال، در ادمین هر پروژه جنگو، اگر می‌خواهید «کاربران» را ببینید، مسیر کامل بدین شکل است :

  • http://127.0.0.1:8000/admin/auth/user/
  • 127.0.0.1:8000/admin/auth/user
  • http://127.0.0.1:8000/admin/auth/user/.

 

حالا اگر به گزارش‌های موجود در خط فرمان خود نگاه کنید، چیزی شبیه شکل زیر خواهید دید که نشان می‌دهد تغییر مسیر 301 من Django برای اضافه کردن اسلش انجام شده

[19/Mar/2020 15:49:44] "GET /admin/auth/user HTTP/1.1" 301 0
[19/Mar/2020 15:49:44] "GET /admin/auth/user/ HTTP/1.1" 200 6596

 

APPEND_SLASH = False

حالا بیایید تنظیمات پیش فرض را خاموش کنیم تا تأیید کنیم که جنگو این عمل را برای ما انجام می دهد. در فایل settings.py خود، خط زیر را در پایین اضافه کنید:

# settings.py
APPEND_SLASH = False

 

وب سرور محلی جنگو به طور خودکار راه اندازی مجدد می شود تا تغییرات را اعمال کند. دوباره سعی کنید صفحه وب بخش کاربر ادمین را بدون علامت اسلش بازخوانی کنید:

127.0.0.1:8000/admin/auth/user

 

نتیجه؟ یک صفحه 404! چون APPEND_SLASH را خاموش کرده‌ایم.

 

این را می توانید در لاگ ها نیز ببینید.

[19/Mar/2020 15:53:41] "GET /admin/auth/user HTTP/1.1" 404 3869

 

بنابراین به عنوان یک موضوع عملی مطمئن شوید که یک / را در انتهای URL های جنگو خود قرار دهید.

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2