مشاركة حلول: إضافة المنشورات

مرحباً جميعاً

المهمة المطلوبة

بإمكانك الإطلاع على المهمة المطلوبة من هنا

لا تنسى تحديث الأكواد في المستودع على GitHub

5 Likes


لكن مهندس عندما جربت الكود يعطيني خطأ ما المشكلة؟
@YaserAlnajjar

1 Like

راجعت الأكواد, وطلعت المشكلة من Get و Post… المفترض أن تكتبها كلها حروف كبيرة (capital):

@app.route('/post/add',methods=['GET', 'POST'])

نفس الأمر في الشروط:

if request.method=='POST':
    ...
elif request.method=='GET':
    ...
2 Likes

شكراً لك مهندس لكن لماذا نكتبها كامله كابيتال؟

1 Like

جمعية IEFT (مجموعة مهندسي شبكة الإنترنت الدولية) حددت تفاصيل بروتوكول HTTP الذي تكلمت عليه في المقال:

وهم يقوموا بإصدار مذكرات (يسموها RFC) وأيضاً فيها بحوثات ونقاشات حول تقنيات الويب وكيفية التعامل معها, رقم المذكرة RFC 7231 طرحوا فيه جميع التفاصيل المتعلقة بـ HTTP:

https://tools.ietf.org/html/rfc7231#section-4

من ضمن هذه التفاصيل أن الـ verbs أو methods تكتب بهذا الشكل GET POST DELETE وهكذا.

لهذا جميع الـ web frameworks تتعامل معها حسب الـ RFC لكي لا تصبح الأمور في فوضى :smile:

2 Likes

حسناً فهمت ذلك شكراً لك على هذه المعلومة

1 Like

على الرحب والسعة :slight_smile:

1 Like

السلام عليكم أستاذي @YaserAlnajjar الكريم
إليكم محاولتي

1 Like

ربط انشاء البوست

1 Like

عمل رائع يا سارة :+1:

1 Like
2 Likes
1 Like

لقم تم انجاز المطلوب ^^

1 Like


عند محاول عمل post يظهر لي هذا الخطأ
Bad Request
The browser (or proxy) sent a request that this server could not understand.
وايضا ما الفائدة من هذه ال list ؟
methods=[‘GET’, ‘POST’]

1 Like

المشكلة طلعت فقط خطأ بسيط عندك في الـ html مكتوب:

        photo <input type="text" name="url_photo" value="">

لكن في ملف main.py:

                    photo_url=request.form['photo_url'],

لاحظ الفرق url_photo و photo_url :smile:

فائدة القائمة methods هي تحديد ما يمكن استقباله على هذه النقطة مثلاً على /add_meals أنت تقول له استقبل الطلبات من نوع GET و POST

إذا لم تقم بكتابة methods، فالحالة الافتراضية أنه سيستقبل فقط GET

1 Like

الف شكر :grinning:
تم تعديل الكود

1 Like
1 Like

:slightly_smiling_face:

1 Like

عمل رائع يا بسام :+1:

1 Like

hello!

1 Like