اضافة محتوى
في هذا الدرس سنشرح كيفية اضافة موضوع جديد
قبل كل شيء نذهب الى ملف urls.py بداخل المشروع الرئيسي
نظيف مسار جديد للاضافة
url(r'^template/create/$', views.create, name='create'),
بعد ان قمنا بوضع مسار جديد للاضافة نقوم بعمل دالة باسم create كما وضعناها بالكود السابق
نذهب الى تطبيقنا blog
ثم نذهب الى ملف views.py
نقوم بانشاء دالة جديدة للاضافة
سنقوم ببرمجة دالة بسيطة بالبداية
وظيفتها طباعة المدخلات من المستخدم فقط لاغير
def create(request):
if request.method == "POST":
print(request.POST)
return render(request, 'blog/create.html')
الدالة بسيطة جدا
وضعنا شرط اذا كان نوع الطلب post
تقوم بطباعة المدخلات ( الطباعة تتم بالترمنال او الشاشة السودا او الكوماند -بالسيرفر- )
نقوم بانشاء الملف الذي عرفناه بالكود السابق create.html
ونقوم بصناعة استمارة بداخله
اذهب الى المسار
templates/blog
قم بانشاء ملف جديد باسم create.html
اصنع بداخله استماره بعدد الحقول التي قمنا بانشائها مسبقا
<form action="" method="post">
<input type="text" name="author" placeholder="author"><br>
<input type="text" name="title" placeholder="title"><br>
<textarea name="post" id="" cols="30" rows="10" placeholder="post"></textarea><br>
<input type="submit" value="add!">
</form>
الان لنقم بتشغيل السيرفر
python manage.py runserver
نتوجه الى الرابط التالي
http://127.0.0.1:8000/template/create/
سيظهر لنا الفورم الذي قمنا بانشائه
لنقم بوضع اي بيانات للتجربة ونضغط ارسال
عند الضغط على ارسال ستظهر لدينا رسالة 403
هذه حماية من جانغو بالارسال post
يجب ان نظيف الى الاستمارة (الفورم ) الذي قمنا بانشاءه csrf_token
ليصبح كالتالي
<form action="" method="post">
{% csrf_token %}
<input type="text" name="author" placeholder="author"><br>
<input type="text" name="title" placeholder="title"><br>
<textarea name="post" id="" cols="30" rows="10" placeholder="post"></textarea><br>
<input type="submit" value="add!">
</form>
الان
لنفتح الصفحة مرة اخرى
ونكتب اي بيانات ونضغط ارسال
ثم نذهب الى الترمنال ونرى الناتج
كما ترون ظهر لدينا المدخلات باساميها مثلا author القيمة المرسلة هي albader وهكذا
الان نرجع مرة اخرى الى دالتنا create
ونقوم بالتعديل عليها نحذف امر الطباعه
print(request.POST)
ومكان امر الطباعه سنستقبل المدخلات
author = request.POST['author']
title = request.POST['title']
post = request.POST['post']
قمنا بوضع المدخلات داخل متغيرات
الان لنقم بارسالها الى قاعدة البيانات لحفظها
هناك طرق كثيره للحفظ او الفلتره قبل الحفظ ولكن سنستخدم الطريقة البدائية قبل ان نتعمق باغلب الطرق
سنكتب الكود كالتالي كما تعلمناه في دروس سابقة
def create(request):
if request.method == "POST":# اذا نوع الطلب بوست
author = request.POST['author']# استقبال المدخل اسم الكاتب
title = request.POST['title']# استقبال المدخل العنوان
post = request.POST['post']# استقبال المدخل المحتوى
TestBlog.objects.create(author=author, title=title, post=post)#اضافة المحتويات الى قاعدة البيانات
return render(request, 'blog/create.html')
طريقة اخرى للاضافة الى قاعدة البيانات
def create(request):
if request.method == "POST":
author = request.POST['author']
title = request.POST['title']
post = request.POST['post']
Test = TestBlog()
Test.author = author# الحقل اسم الكاتب مقابل المدخل اسم الكاتب
Test.title = title# حقل العنوان مقابل المدخل العنوان
Test.post = post
Test.save()# حفظ البيانات السابقه المدخله للمتغير
return render(request, 'blog/create.html')
وايضا هناك عدة طرق
لكن اكتفي بهذا القدر
وتم اضافة المعلومات بنجاح
مستقبلا سنتعلم صناعة الاستمارة عن طريق استمارات جانغو المقدمة من جانغو نفسها والتحقق من المدخلات (ان شاء الله )
محتوى الدورة
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 | التعامل مع قواعد البيانات- متقدم ( الدرس الاخير) |
عن الدرس
0 إعجاب |
0 متابع |
0 مشاركة |
2038 مشاهدات |
منذ 6 سنوات |
التعليقات (0)
عرض المزيد.. جديد مقالاتي
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !