تشغيل سيرفر محلي للـ python


#1

السلام عليكم ورحمة الله وبركاته :
كنت عندما أنشئ نموذج لصفحة ويب أكتب الــ action الخاص به بلغة php وانفذه على سيرفر appachi
ولكن في بايثون اذ لم اكن استخدم أي إطار عمل flask - django كيف يمكنني تشغيل سيرفر محلي لأختبر نماذجي عليه .
دمتم بود .


#2

استطعت تشغيله عبر
python -m http.server
ولكن عند الضغط على زر التحقق فتح لي ملف الـ python مظهراً الكود الذي كتبته
يرجى المساعدة لمعرفة السبب


#3

لا أعلم ماهو الغرض الرئيسي من عمل تطبيق بدون استعمال حتى framework بسيطة مثل flask :smile:

  • هل كنا نستعمل سيرفر flask, للإطلاق على Heroku ؟

لم نكن نستعمل سيرفر flask لتشغيل التطبيق… لا أبداً, لأنه ليس مصنوع للإنتاج production, وإنما هو مصنوع لتسهيل عملية التطوير development.

  • كيف كنا نقوم بتحضير التطبيق للإطلاق باستعمال flask ؟

هل تذكر ملف Procfile الخاص بـ heroku, هو يحتوي على السطر:

web: gunicorn run:app

هو يقوم باستعمال سيرفر gunicorn لتشغيل ملف run.py واسم التطبيق في فلاسك app.

  • هل يوجد مثال لكيفية القيام بالتحضير على سيرفر لينكس ؟

نعم, هذا الفيديو ممتاز, ويوضح أيضاً كيفية استعمال سيرفر nginx, لجعله web proxy (طبقة حماية).

https://www.youtube.com/watch?v=kDRRtPO0YPA

  • كيف يتم الأمر في جانقو ؟

نفس القصة, لديك ملف wsgi.py في التطبيق, وهو ما سيقوم gunicorn بتشغيله بالأمر:

gunicorn my_django_app.wsgi
  • ماهو ملف wsgi - Web Server Gateway Interface ؟

هو ملف يتبع standard اسمه WSGI, هذه الـ standard يوضح كيف يجب أن يعمل تطبيق بايثون على الويب, وكيف يتعامل مع الـ requests والـ responses, هنا التفاصيل لهذا المعايير (في ورقة PEP0333):

https://www.python.org/dev/peps/pep-0333/

  • ماهو gunicorn ؟

ببساطة هو سيرفر يقوم بتطبيق هذه الـ standard, تعريفه حسب wiki:

Gunicorn is a Python Web Server Gateway Interface HTTP server

أي أن flask و django تستعمل سيرفر gunicorn للتعامل مع wsgi standard.

  • نرجع للسؤال الأساسي في الموضوع, كيف ممكن أشغل تطبيق بايثون بدون فريمورك ؟

الأمر مشابه لكتابة framework خاصة فيك, لذا بإمكانك استعمال واحدة جاهزة بالفعل لأنها تسهل لك الأمر, وتعطيك كل شيء للتعامل مع wsgi standard, أو بإمكانك القيام بها بنفسك إذا أردت (ولا أرى سبب وجيه لهذا).

هنا شرح لكيفية القيام بها:

https://docs.pylonsproject.org/projects/webob/en/stable/do-it-yourself.html


#4

Very nice and useful :ok_hand:


#5

its really nice and very helpful ,
Thank you sooooo mutch


#6

انا استخدم الامر في cmd
python manage.py runserver