تحديث البيانات
اليوم بأذن الله نتعلم كيفية تحديث البيانات بكل سهولة
بدايةً نقوم بانشاء دالة التحديث
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 مشاركة |
1791 مشاهدات |
منذ 6 سنوات |
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !