مشكلة في methods

حاولت تتبع ما جاء في الدرس حول اضافة منشور جديد لكنني واجهت مشكلة وهي أن الـ method الخاص بالطلب يبقى GET

@app.route('/post/add', methods = ['GET', 'POST'])
def post_add():
    if request.method == 'POST':
        return redirect(url_for('home'))
    elif request.method == 'GET':
        return render_template('post-add.html')

and post-add.html

<body>
<form action="{{url_for('post_add')}}" method="POST">
    <div>
        <input type="text" name="photo_url">
    </div>
    <div>
        <input type="text" name="name">
    </div>
    <div>
        <textarea name="body" cols="30" rows="10"></textarea>
    </div>
    <div>
        <input type="button" value="Create">
    </div>
</form>

</body>

ولما اضغط إضافة تأتيني الرسالة التالية بدون تحويل على صفحة home

 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [16/Feb/2020 17:43:08] "GET /post/add HTTP/1.1" 200 -

4 Likes

مرحبا اسماعيل

ما رأيك تغير نوع الزر إلى type="submit" بدلا من button و خبرني النتيجة

3 Likes

نعم إنه يعمل :ok_hand:

3 Likes