Abdelrehman Elsied نشر الأربعاء في 23:46 أرسل تقرير نشر الأربعاء في 23:46 هل يمكنني سؤال أسئلة في Flask. 1 اقتباس
0 محمد عاطف25 نشر الخميس في 01:10 أرسل تقرير نشر الخميس في 01:10 نعم بالطبع يمكنك السؤال في أى شئ تريده يمكنك طرح السؤال هنا في قسم الأسئلة العامة وسيتم توفير الإجابات لك من قبل المدربين المتاحين . اقتباس
0 Abdelrehman Elsied نشر الخميس في 01:39 الكاتب أرسل تقرير نشر الخميس في 01:39 ما فائدة ال redirect في ال flask. مثلا هذا الكود: # Stores registrants in a dictionary from flask import Flask, redirect, render_template, request app = Flask(__name__) REGISTRANTS = {} SPORTS = [ "Basketball", "Soccer", "Ultimate Frisbee" ] @app.route("/") def index(): return render_template("index.html", sports=SPORTS) @app.route("/register", methods=["POST"]) def register(): # Validate name name = request.form.get("name") if not name: return render_template("error.html", message="Missing name") # Validate sport sport = request.form.get("sport") if not sport: return render_template("error.html", message="Missing sport") if sport not in SPORTS: return render_template("error.html", message="Invalid sport") # Remember registrant REGISTRANTS[name] = sport # Confirm registration return render_template("registrants.html", registrants=REGISTRANTS) # @app.route("/registrants") def registrants(): return render_template("registrants.html", registrants=REGISTRANTS) قمت بتعديلة ليصبح: # Stores registrants in a dictionary from flask import Flask, redirect, render_template, request app = Flask(__name__) REGISTRANTS = {} SPORTS = [ "Basketball", "Soccer", "Ultimate Frisbee" ] @app.route("/") def index(): return render_template("index.html", sports=SPORTS) @app.route("/register", methods=["POST"]) def register(): # Validate name name = request.form.get("name") if not name: return render_template("error.html", message="Missing name") # Validate sport sport = request.form.get("sport") if not sport: return render_template("error.html", message="Missing sport") if sport not in SPORTS: return render_template("error.html", message="Invalid sport") # Remember registrant REGISTRANTS[name] = sport # Confirm registration return render_template("registrants.html", registrants=REGISTRANTS) لم أجد أي فرق في الشكل النهائي. فلماذا تمت اضافة redirect و لم نستخدم ال render_template مباشرة. اقتباس
0 محمد عاطف25 نشر الخميس في 10:53 أرسل تقرير نشر الخميس في 10:53 بتاريخ 9 ساعة قال Abdelrehman Elsied: ما فائدة ال redirect في ال flask. مثلا هذا الكود: # Stores registrants in a dictionary from flask import Flask, redirect, render_template, request app = Flask(__name__) REGISTRANTS = {} SPORTS = [ "Basketball", "Soccer", "Ultimate Frisbee" ] @app.route("/") def index(): return render_template("index.html", sports=SPORTS) @app.route("/register", methods=["POST"]) def register(): # Validate name name = request.form.get("name") if not name: return render_template("error.html", message="Missing name") # Validate sport sport = request.form.get("sport") if not sport: return render_template("error.html", message="Missing sport") if sport not in SPORTS: return render_template("error.html", message="Invalid sport") # Remember registrant REGISTRANTS[name] = sport # Confirm registration return render_template("registrants.html", registrants=REGISTRANTS) # @app.route("/registrants") def registrants(): return render_template("registrants.html", registrants=REGISTRANTS) قمت بتعديلة ليصبح: # Stores registrants in a dictionary from flask import Flask, redirect, render_template, request app = Flask(__name__) REGISTRANTS = {} SPORTS = [ "Basketball", "Soccer", "Ultimate Frisbee" ] @app.route("/") def index(): return render_template("index.html", sports=SPORTS) @app.route("/register", methods=["POST"]) def register(): # Validate name name = request.form.get("name") if not name: return render_template("error.html", message="Missing name") # Validate sport sport = request.form.get("sport") if not sport: return render_template("error.html", message="Missing sport") if sport not in SPORTS: return render_template("error.html", message="Invalid sport") # Remember registrant REGISTRANTS[name] = sport # Confirm registration return render_template("registrants.html", registrants=REGISTRANTS) لم أجد أي فرق في الشكل النهائي. فلماذا تمت اضافة redirect و لم نستخدم ال render_template مباشرة. في الكود لم يتم إستخدام redirect بل تم فقط إستيرادها . وإليك الفرق بين render_template و redirect: render_template: يعرض القالب مباشرة. يبقى المستخدم في نفس مسار URL. إذا قام المستخدم بتحديث الصفحة (refresh)، سيعيد إرسال النموذج (POST request) مما قد يسبب تسجيلات مكررة. redirect: يرسل المستخدم إلى مسار آخر مثلا من /register إلى /registrants. يغير URL في المتصفح يمنع إعادة إرسال النموذج عند تحديث الصفحة اقتباس
السؤال
Abdelrehman Elsied
هل يمكنني سؤال أسئلة في Flask.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.