اذهب إلى المحتوى

السؤال

نشر

أقوم حاليًا بتطوير تطبيق فلاسك Flask، ولكن المشكلة هي أني أقوم بإعادة تشغيل ملف بايثون في كل مرة أقوم فيها بتغير الكود، وهذه العملية يتم تكرارها عدة مرات في كل دقيقة.

ألا توجد طريقة لكي يتم إعادة تشغيل التطبيق عندما أقوم بتعديل أحد ملفات المشروع كما يحدث في برامج node.js عبر حزمة nodemon؟

Recommended Posts

  • 1
نشر

يدعم فلاسك Flask هذا الأمر بشكل إفتراضي وبدون تثبيت أي حزم أو مكتبات خارجية، ولكن عليك أن تقوم ببعض الخطوات للقيام بهذا الأمر.

تفعيل وضع التطوير في المشروع

في البداية يجب أن تقوم بتفعيل وضع التطوير في المشروع Development Mode، ويكمنك أن تقوم بهذا الأمر بأكثر من طريقة:
تمرير المعامل debug إلى التابع app.run:

app.run(debug=True)

تغير قيمة الخاصية app.debug إلى True:

app.debug = True

عمل متغير بيئة environment variable باسم FLASK_ENV وبقيمة development في سطر الأوامر:

في ويندوز (CMD):

SET FLASK_ENV=development

في لينكس وماك:

export FLASK_ENV=development

تحديد ملف المشروع الرئيسي

الآن عليك أن تقوم بعمل متغير بيئة ثاني يعبر عن ملف المشروع الرئيسي (في الغالب يكون main.py):

في ويندوز (CMD):

SET FLASK_APP=main.py

في لينكس وماك:

export FLASK_APP=main.py

تشغيل المشروع

في الغالب أنت تقوم بتشغيل تطبيق فلاسك Flask من خلال تشغيل ملف المشروع الرئيسي يدويًا، كالتالي:

python main.py

لكن للحصول على ميزة إعادة التحميل التلقائية عليك أن تستعمل الأمر flask لتشغيل المشروع، على النحو التالي:

flask run

الآن عند عمل أي تغير في ملفات المشروع وحفظ هذه الملفات ستجد أن المشروع يتم إعادة تشغيله بشكل تلقائي في سطر الأوامر دون تدخل منك.

يمكنك أيضًا تغير منفذ المشروع الإفتراضي ليكون أي منفذ آخر من خلال تمرير المعامل port-- إلى الأمر السابق، كالتالي:

flask run --port 8080

الآن سيعمل المشروع على الرابط localhost:8000

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...