اضافه کردن لایک به پست ها در django
خب بریم سراغ چیزی که امروز یاد گرفتم
یکی از دوستان زیر پست قبلی کامنت گذاشته بود که لایک به پست هات اضافه کن!
به نظرم ایده باحالی بود
پس اینجوری توی ذهنم پلنش رو ریختم..مثل گزینه ویو و تعداد کامنت ها یک آیکن اضافه بشه که تعداد لایک ها رو نشون بده
وقتی روی تعداد کلیک میکنن برن توی پست و اگه از پست خوششون اومد روی دکمه لایک زیر پست کلیک کنن و یک لایک اضافه بشه به اون پست
کاری که کردم این بود..
اول از همه یک فیلد عدد صحیح جدید به مدل های هر پست اضافه کردم!(integer field) که مقدار دیفالتش 0 عه
بعد از اون دکمه رو توی templates (صفحه خود پست یا بلاگ) اضافه کردم...دکمه به اینصورته که یک آیکن از font awesome انتخاب کردم و در کنارش عدد فعلی لایک ها رو گذاشتم(مثل پایین همین پست)
-- دقت کنید که method رو برابر پست گذاشتم که به صورت post بتونم ریکوست رو از طریق کاربر دریافت کنم
-- داخل فرم یک input hidden گذاشتم تا primary key اون پست خاص رو برام ارسال کنه تا تشخیص بدم کدوم پست داره تعداد لایکش میره بالا و در -- کنارش یک تگ a گذاشتم که هم آیکن هم عدد تعداد لایک ها داخلشه...با استفاده از javascript براش تعیین کردم وقتی روت کلیک شد فرم رو ارسال کن!
-- یعنی مقداری که داخل فرم بوده(همون hidden input عه) رو برای سرور ارسال کن
و توی قسمت ویوز اپ مربوط به بلاگ ها کد مربوط بهش رو نوشتم که برو چک کن اگر با این سشن(سشن قسمتیه که یک سری اطلاعات مربوط به هر کاربری که وارد سایت میشه داخلش سیو میشه...مثلا سبد های خرید رو هم از همین طریق می سازن - و به صورت پیش فرض توی جنگو هر دو هفته یکبار پاک می شن) خاص قبلا این پست لایک شده بود در نظر نگیرش و پس کن
ولی اگه اون سشن وجود نداشت...اول از همه یک سشن مربوط به اون پست بساز و مقدارش رو True کن ... یعنی قبلا لایک کرده..تا دوباره نتونه لایک کنه
بعد از اون گفتم پستی که قراره لایک شه رو پیدا کن(که من اینجا از slug استفاده کردم برای پیدا کردنش - مبحث جالبیه دربارش سرچ کنید حتما)
و یک لایک به تعداد لایکاش اضافه کن
و در نهایت سیو کن تعداد جدید لایک ها رو...
اینم از مطلبی که امروز زیر 30 دقیقه وقت گرفت و به سایت اضافه کردم
منبع اصلیم هم طبق معمول stackverflow.com , nh;d,lkj و داکیومنت django بودن
0 دیدگاه
Add a comment