عزوز عزوز2 نشر 24 يونيو 2022 أرسل تقرير نشر 24 يونيو 2022 كيف انشاء جدول في قاعدة البيانات يوضع فيه سطر واحد فقط ...وهذا السطر يستقبل بيانات من المستخدم بحيث تكون هذه البيانات متغيرة بأستمرار كلما قام المستخدم بادخال البيانات تتغير البيانات الموجودة في السطر البيانات التي يدخلها المستخدم هي ارقام .... اريد ان اقوم بمعادلات رياضية على الارقام التي يدخلها المستخدم و اعرض النتيجة في المتصفح اقتباس
0 محمد حجي2 نشر 24 يونيو 2022 أرسل تقرير نشر 24 يونيو 2022 (معدل) في ملف models: class Tabel(models.Model): number = models.FloatField() #في حال كانت القيمة التي تريدها عشرية class Tabel(models.Model): number = models.IntegerField() # في حال تريد القيم فقط أرقام صحيحة طبعاً يمكنك التغير على قيمتها في أي وقت من ملف views.py على الدالة التي تقوم بأمر التعديل على حسب الفورم التعديل الخاص بك. تقوم بستقبال البيانات العنصر المراد التعديل عليه و من ثم تحديثها و من ثم حفظها و التحويل على الصفحة التي تريدها على حسب مشروعك. def post_tabel(request,pk): data = request.data number = data['number'] my_tabel = MyTabel.objects.get(pk=pk) my_tabel.number = number my_tabel.save() return render(request, "index.html") تم التعديل في 24 يونيو 2022 بواسطة محمد حجي2 1 اقتباس
0 عزوز عزوز2 نشر 24 يونيو 2022 الكاتب أرسل تقرير نشر 24 يونيو 2022 بتاريخ منذ ساعة مضت قال محمد حجي2: في ملف models: class Tabel(models.Model): number = models.FloatField() #في حال كانت القيمة التي تريدها عشرية class Tabel(models.Model): number = models.IntegerField() # في حال تريد القيم فقط أرقام صحيحة طبعاً يمكنك التغير على قيمتها في أي وقت من ملف views.py على الدالة التي تقوم بأمر التعديل على حسب الفورم التعديل الخاص بك. تقوم بستقبال البيانات العنصر المراد التعديل عليه و من ثم تحديثها و من ثم حفظها و التحويل على الصفحة التي تريدها على حسب مشروعك. def post_tabel(request,pk): data = request.data number = data['number'] my_tabel = MyTabel.objects.get(pk=pk) my_tabel.number = number my_tabel.save() return render(request, "index.html") ممكن توضح اكثر في views.py اقتباس
0 محمد حجي2 نشر 24 يونيو 2022 أرسل تقرير نشر 24 يونيو 2022 (معدل) بتاريخ منذ ساعة مضت قال عزوز عزوز2: ممكن توضح اكثر في views.py هذا سيكون مثال أوضح في ملف HTML و التي سيظهر فيه المعلومات التي تريد التعديل عليها من مفترض أن ترسل مع عملية التعديل id الخاص بالعنصر الذي تريد تعديله حتى تستقبل دالة الخاصة بالتعديل العنصر المعني تعديله: هنا في المثال التالي من ملف html ستجد أن رابط إرسال يحتوي على ID: ملاحظة ستجد تعليقات على النقاط المهمة في الكود تابع أمثلة: <h1>Members</h1> <table border="1"> {% for x in mymembers %} <tr> <td><a href="update/{{ x.id }}">{{ x.id }}</a></td> <!-- في هذا السطر تستطيع ان ترى ان رابط عبارة عن احد URL --> ^^^^^^^^^^^^^^^^^^ هنا <td>{{ x.firstname }}</td> <td>{{ x.lastname }}</td> <td><a href="delete/{{ x.id }}">delete</a> </tr> {% endfor %} </table> <p> <a href="add/">Add member</a> </p> وفي ملف members/views.py: ستجد طريقة حذف و التعديل و إضافة و عرض CRUD المطلوب مشروح في الكود بالتعليقات # from django.http import HttpResponse, HttpResponseRedirect from django.template import loader from django.urls import reverse from .models import Members # المطلوب في الدالة أخيرة def index(request): mymembers = Members.objects.all().values() template = loader.get_template('index.html') context = { 'mymembers': mymembers } return HttpResponse(template.render(context, request)) def add(request): template = loader.get_template('add.html') return HttpResponse(template.render({}, request)) def addrecord(request): first = request.POST['first'] last = request.POST['last'] member = Members(firstname=first, lastname=last) member.save() return HttpResponseRedirect(reverse('index')) def delete(request, id): member = Members.objects.get(id=id) member.delete() return HttpResponseRedirect(reverse('index')) ####################################################################################################### def update(request, id): #انت تريد هذه الدالة التي تستلم الطلب و يحتوي على البيانات الجديدة مع اي دي mymember = Members.objects.get(id=id) # هنا سوف نسترجع العنصر المطلوب من قاعدة البيانات على حسب اي دي template = loader.get_template('update.html') # وهنا سيتم عرض صفحة التعديل context = { 'mymember': mymember, } return HttpResponse(template.render(context, request)) # ستم تحويل البيانات العنصر لصفحة الجديدة ####################################################################################################### و هذه هي صفحة التعديل: members/templates/update.html <h1>Update member</h1> <form action="updaterecord/{{ mymember.id }}" method="post"> {% csrf_token %} First Name:<br> <input name="first" value="{{ mymember.firstname }}"> <br><br> Last Name:<br> <input name="last" value="{{ mymember.lastname }}"> <br><br> <input type="submit" value="Submit"> </form> الأن مع members/urls.py: from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('add/', views.add, name='add'), path('add/addrecord/', views.addrecord, name='addrecord'), path('delete/<int:id>', views.delete, name='delete'), path('update/<int:id>', views.update, name='update'), # يمكنك ملاحظة انه سبتم استخدام هذا الرابط لعملية التعديل ^^^^^^^^^^^^^^ #وكما أسلفت يشترط ارسال اي دي العنصر المراد تعديل عليها ] سنقوم الأن بعرض دالة التعديل updaterecord بعد إرسال التعديلات من فورم التعديلات: members/templates/update.html ستستقبل الدالة البيانات. في ملف members/views.py: def updaterecord(request, id): first = request.POST['first'] # استقبال البيانات الجديدة حسب إسمها في الفورم last = request.POST['last'] member = Members.objects.get(id=id) # جلب العنصر المراد تعديله من قاعدة البيانات member.firstname = first # التعديل member.lastname = last member.save() # حفظ لتعديلات return HttpResponseRedirect(reverse('index')) # الرجوع لصفحة الرئيسية تم التعديل في 24 يونيو 2022 بواسطة محمد حجي2 اقتباس
السؤال
عزوز عزوز2
كيف انشاء جدول في قاعدة البيانات يوضع فيه سطر واحد فقط ...وهذا السطر يستقبل بيانات من المستخدم
بحيث تكون هذه البيانات متغيرة بأستمرار كلما قام المستخدم بادخال البيانات تتغير البيانات الموجودة في السطر
البيانات التي يدخلها المستخدم هي ارقام .... اريد ان اقوم بمعادلات رياضية على الارقام التي يدخلها المستخدم و اعرض النتيجة في المتصفح
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.