تحديث البيانات
اليوم بأذن الله نتعلم كيفية تحديث البيانات بكل سهولة
بدايةً نقوم بانشاء دالة التحديث
def update(request, id):#تستقبل بارمترين البارمتر الثاني الاي دي الخاص بالبيانات
query = TestBlog.objects.get(id=id)# جلب المعلومات حسب الاي دي
context = {'object':query}# اضفنا قاموس مفتاح وقيمة القيمة عباره عن البيانات من المتغير
if request.method == 'POST':# شرط لو كان الارسال من نوع بوست
author = request.POST['author']# اسندنا البيانات التي استقبلناها لمتغير
title = request.POST['title']
post = request.POST['post']
query.author = author # قمنا بتغير البيانات حسب البيانات اللي استقبلناها من اليوزر
query.title = title# نفس ماسبق
query.post = post# نفس ماسبق
query.save()# قمنا بحفظ البيانات بعد التعديل
return render(request, 'blog/update.html', context)# اعدنا القيمة للقالب update
شرح الدالة بجانبها
بعد انشاء الدالة نذهب الى ملف urls.py
لاضافة مسار جديد للتحديث
url(r'^template/(?P<id>[0-9]+)/update/$', views.update, name='update'),
#نشرح ماسبق
url(r'^template/(?P<id>[0-9]+)/update/$', #هنا عرفنا المسار بالتعابير القياسية
views.update, #هنا اسم الدالة المسؤوله عن التحديث
name='update'),# هنا اسم المسار هذا يكون فريد لاننا سنستخدمه مستقلا بالقوالب
بعد انشاء الرابط
نقوم بانشاء ملف update.html
مشابه لصفحة create.html 100%
الاختلاف البسيط اننا سنضيف value فقط لعرض البيانات
<h1>{{ object }}</h1>
<form action="" method="post">
{% csrf_token %}
<input type="text" name="author" placeholder="author" value="{{ object.author }}"><br>
<input type="text" name="title" placeholder="title" value="{{ object.title }}"><br>
<textarea name="post" id="" cols="30" rows="10" placeholder="post">{{ object.post }}</textarea><br>
<input type="submit" value="update!">
</form>
تم انشاء الملف
الان سنذهب الى ملف detail.html
بداخله الكود التالي
<h1>{{ detail.title }}</h1>
<hr>
{{ detail.author }}
<p>{{ detail.post }}</p>
<!-- نضيف السطر التالي -->
<a href="/template/{{ detail.id }}/update/">update</a>
نقوم بتشغيل السيرفر الان
python manage.py runserver
نذهب للمصتفح
http://127.0.0.1:8000/template
ندخل اي موضوع من المواضيع المعروضه
بالضغط عليه سيحولنا لعرض الموضوع مثلا الموضوع الثاني
http://127.0.0.1:8000/template/2/
الان ظهر لنا زر جديد اسفل الصفحة باسم update
لو قمنا بالضغط عليه سيحولنا الى
http://127.0.0.1:8000/template/2/update/
الان ظهرت لنا المعلومات كامله ونستطيع تحديثها فقط غير المعلومات وقم بعمل تحديث سيتم التحديث بنجاح
محتوى الدورة
django | |
---|---|
1 | متطلبات قبل بدء الدورة |
2 | ماهو جانغو |
3 | انشاء أول مشروع جانغو |
4 | Hello World |
5 | التعامل مع القوالب |
6 | حقن القوالب |
7 | قواعد البيانات-1 |
8 | قواعد البيانات-2 |
9 | التعامل مع لوحة التحكم |
10 | عرض البيانات بالصفحة الرئيسية |
11 | عرض التفاصيل |
12 | اضافة محتوى |
13 | تحديث البيانات الدرس الحالي |
14 | الاستمارات |
15 | الاستمارات-2 |
16 | تسجيل الاعضاء |
17 | تسجيل الدخول |
18 | الفلاتر في جانغو |
19 | التعامل مع قواعد البيانات- متقدم ( الدرس الاخير) |
عن الدرس
1 إعجاب |
1 متابع |
0 مشاركة |
1899 مشاهدات |
منذ 7 سنوات |
التعليقات (1)

شرح جميل مبسط جزاك الله خير
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !