اذهب إلى المحتوى
  • 0

طريقة انشاء زر لتغيير كمية المنتج داخل السلة في جانغو

محمود الساعور2

السؤال

مرحبا جميعا اقوم بانشاء مشروع جانغو لمتجر ملابس  ووصلت لجزئية تغيير كمية المنتج داخل السلة واواجه بعض المشاكل هنا ارجو مساعدتي ان استطعتم ذلك 

انشئت زر زيادة / نقصان للكمية واحاول تفعيله بواسطة جافا سكريبت لكنه لا يعمل في السلة على الرغم من انه لدي نسخة منه بصفحة تفاصيل المنتج وهي تعمل بشكل مثالي حيث ان الكميات لا تتغير بشكل ديناميكي عند النقر على الزر ولا يتم حفظ التغيير لقاعدة البيانات حيث انه  بمجرد تحديث الصفحة تختفي التغييرات كما ان الكمية بالمخزون تصبح سالبة بمجرد النقر على اي زر ارفقت مقطع فديو يوضح المشكلة بشكل اكبر .

ارجو المساعدة من فضلكم 🙏🙏🙏🙏 

================================

دالة صفحة السلة في السطر 447 ملف view.py مجلد store

دالة تحديث السلة بالسطر 593 ملف view.py مجلد store

دالة جافا سكريبت داخل ملف main.js سطر 610

النماذج الخاصة بالسلة في ملف models.py داخل مجلد store سطر 262

قالب الزر موجود داخل ملف cart.html سطر 80

===============================

@محمد عاطف17

Fikra-Project.zip

تم التعديل في بواسطة محمود الساعور2
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

الخطأ لديك أنك تقوم بإضافة إستماع للحدث مرتين على نفس الزر وهذا لأنك كتبت الكود مرتين مرة في سطر 432 وهذا للصفحة الخاصة بالمنتج ومرة في سطر 652 للصفحة الخاصة بال cart و أيضا بالنسبة لزر الحذف يوجد الكود مرتين أيضا.

وستجد أن الكود في الصفحتين لن يعمل إذا كان الإثنين معا . فإذا ألغيت أحدهما سيعمل في صفحة والأخرى لا وهكذا ، أى إذا ألغيت الكود في سطر 432 ستعمل صفحة ال cart وإذا ألغيت الكود في سطر 652 ستعمل صفحة المنتج.

والحل إما فصل الكود إلى ملفين وتقوم بإستيراد الملف الخاص لكل صفحة . وإما إضافة id مختلف لكل زر وتقوم بإضافة حدث مختلف لكل زر .

والأفضل هو فصل الكود إلى ملفين كل صفحة لها الملف الخاص بها حتي لا تحدث مشاكل غير متوقعه كتلك المشكلة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 ساعة قال محمد عاطف17:

الخطأ لديك أنك تقوم بإضافة إستماع للحدث مرتين على نفس الزر وهذا لأنك كتبت الكود مرتين مرة في سطر 432 وهذا للصفحة الخاصة بالمنتج ومرة في سطر 652 للصفحة الخاصة بال cart و أيضا بالنسبة لزر الحذف يوجد الكود مرتين أيضا.

وستجد أن الكود في الصفحتين لن يعمل إذا كان الإثنين معا . فإذا ألغيت أحدهما سيعمل في صفحة والأخرى لا وهكذا ، أى إذا ألغيت الكود في سطر 432 ستعمل صفحة ال cart وإذا ألغيت الكود في سطر 652 ستعمل صفحة المنتج.

والحل إما فصل الكود إلى ملفين وتقوم بإستيراد الملف الخاص لكل صفحة . وإما إضافة id مختلف لكل زر وتقوم بإضافة حدث مختلف لكل زر .

والأفضل هو فصل الكود إلى ملفين كل صفحة لها الملف الخاص بها حتي لا تحدث مشاكل غير متوقعه كتلك المشكلة.

اشكرك صديقي

هل يمكنك ارسال مجلد المشروع بعد التعديل او الملفات التي قمت بتعديها حتى عمل المشروع لديك من فضلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
بتاريخ 14 دقائق مضت قال محمود الساعور2:

اشكرك صديقي

هل يمكنك ارسال مجلد المشروع بعد التعديل او الملفات التي قمت بتعديها حتى عمل المشروع لديك من فضلك؟

نعم بالطبع هذا ملف static\javascript\main.js و ملف templates\store\cart.html لقد قمت بإرفاقهم لك بعد التعديل .

 

cart.html main.js

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 23 دقائق مضت قال محمد عاطف17:

نعم بالطبع هذا ملف static\javascript\main.js و ملف templates\store\cart.html لقد قمت بإرفاقهم لك بعد التعديل .

 

cart.html 14.11 kB · 1 تنزيل main.js 27.92 kB · 1 تنزيل

صديقي لا يزال هنالك مشكلة وهي ان الزر يعمل على اول منتج بالسلة فقط ولايعمل على باقي المنتجات هل يمكن مساعدتي من فضلك في معرفة السبب؟ 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On 23‏/9‏/2024 at 19:37 قال محمد عاطف17:

الخطأ لديك أنك تقوم بإضافة إستماع للحدث مرتين على نفس الزر وهذا لأنك كتبت الكود مرتين مرة في سطر 432 وهذا للصفحة الخاصة بالمنتج ومرة في سطر 652 للصفحة الخاصة بال cart و أيضا بالنسبة لزر الحذف يوجد الكود مرتين أيضا.

وستجد أن الكود في الصفحتين لن يعمل إذا كان الإثنين معا . فإذا ألغيت أحدهما سيعمل في صفحة والأخرى لا وهكذا ، أى إذا ألغيت الكود في سطر 432 ستعمل صفحة ال cart وإذا ألغيت الكود في سطر 652 ستعمل صفحة المنتج.

والحل إما فصل الكود إلى ملفين وتقوم بإستيراد الملف الخاص لكل صفحة . وإما إضافة id مختلف لكل زر وتقوم بإضافة حدث مختلف لكل زر .

والأفضل هو فصل الكود إلى ملفين كل صفحة لها الملف الخاص بها حتي لا تحدث مشاكل غير متوقعه كتلك المشكلة.

مرحبا  صديقي @محمد عاطف17 

في الواقع غيرت الدالة بالكامل تغيرا جذريا لكثرة الاخطاء بالدالة القديمة وهي تعمل بشكل رائع الان وبدون اي مشاكل لكن في ال console يظهر لدي خطأ على الرغم ان الكود يعمل جيدا واستطعت ان اقوم بحل هذا الخطأ لكن بمجرد حله يختفي الخطأ من الكونسول ويتوقف الكود عن العمل اعتذر لأنني ازعجتك بكثرة اسئلتي لكن هل يمكنك مساعدتي بمعرفة السبب؟😅

===================================

هنا الكود يعمل جيدا لكن تظهر اخطاء بالكونسل 

الكود موجود في ملف views.py سطر 622 

 # إرجاع الكمية الجديدة والمخزون المتبقي
            return JsonResponse({
                'new_qty': new_qty,
                'stock_quantity': product_variation.get_stock_quantity()
            })

هنا الكود لايعمل لكن لايوجد اخطاء بالكونسل

            # إرجاع الكمية الجديدة والمخزون المتبقي
            return JsonResponse({
                'new_qty': new_qty,
                'stock_quantity': cart_item.get_stock_quantity()
            })

 

Fikra-Project.zip

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...