Mohssen A Mohssen نشر 5 فبراير 2022 أرسل تقرير نشر 5 فبراير 2022 لقد وجدت هذا الكود التالي في أحد المشاريع المفتوحة المصدر، الكود التالي مهمته إحتساب الوقت الذي يستغرقه كل طلب: @app.before_request def before_request(): g.start = time.time() @app.teardown_request def teardown_request(exception=None): diff_time = time.time() - g.start print(diff_time) لكنني لا أعرف ما هو الكائن g الموجود في الكود، ما هي مهمة هذا الكائن وفيما يستخدم؟ 1 اقتباس
1 مسعود زاهي نشر 6 فبراير 2022 أرسل تقرير نشر 6 فبراير 2022 شرح الشفرة: app.before_request: تقوم بتسجيل الدالة ليتم تشغيلها عند بداية كل طلب (request) في مثالك قامت بتسجيل الدالة before_request. app.teardown_request: تقوم بتسجيل الدالة ليتم تشغيلها عند نهاية كل طلب (request) في مثالك قامت بتسجيل الدالة teardown_request. g هو كائن يوفره Flask. هو عبارة عن كائن شامل تحفظ فيه أي بيانات تريدها أثناء سياق طلب واحد. في المثال الذي طرحته قُمت بالاحتفاظ بوقت البداية g.start = time.time() والذي قُمت باستخدامه لاحقاً في الدالة teardown_request لحساب الفرق بين وقت البداية والنهاية diff_time = time.time() - g.start ملاحظة: g كائن يعيش بين app.before_request و بين app.teardown_request اي في سياق التطبيق (the application context) يعني هذا أن g يختلف من طلب لآخر. 1 اقتباس
السؤال
Mohssen A Mohssen
لقد وجدت هذا الكود التالي في أحد المشاريع المفتوحة المصدر، الكود التالي مهمته إحتساب الوقت الذي يستغرقه كل طلب:
لكنني لا أعرف ما هو الكائن g الموجود في الكود، ما هي مهمة هذا الكائن وفيما يستخدم؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.