0 محمد عاطف25 نشر 12 مارس أرسل تقرير نشر 12 مارس نعم بالطبع يمكنك السؤال في أى شئ تريده يمكنك طرح السؤال هنا في قسم الأسئلة العامة وسيتم توفير الإجابات لك من قبل المدربين المتاحين . اقتباس
0 Abdelrehman Elsied نشر 12 مارس الكاتب أرسل تقرير نشر 12 مارس ما فائدة ال 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 نشر 12 مارس أرسل تقرير نشر 12 مارس بتاريخ 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
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.