أساسيات Flask

مكتمل

كما يعد شبكة مفتوحة المصدر "إطار عمل صغير". عندما يستخدم منشئو المحتوى مصطلح "إطار عمل صغير"، فإنهم يقصدون أن إطار العمل سيؤدي المهام المطلوبة لإطار عمل ويب، ولكنه لا يتضمن ميزات متقدمة، أو متطلبات محددة أخرى يجب أن يتبعها تطبيقك للعمل بشكل صحيح. يسمح هذا النهج ل Flask أن يكون مرنا للغاية، ومثاليا للاستخدام كواجهة أمامية للنهايات الخلفية الحالية أو واجهات برمجة التطبيقات - مثل خدمات Azure الذكاء الاصطناعي!

عند إنشاء تطبيق ويب بأي إطار عمل، هناك بعض المفاهيم الأساسية التي نحتاج إلى فهمها - التوجيه والأساليب والقولبة. دعونا نستكشف هذه المفاهيم قبل أن نكتب التعليمات البرمجية.

الاستجابة لطلبات المستخدم باستخدام المسارات

عندما يستخدم المستخدم تطبيق ويب، فإنه يشير إلى ما يريد القيام به، أو المعلومات التي يبحث عنها، من خلال التصفح إلى محددات مواقع موارد موحدة مختلفة (أو عناوين URL). قد يقومون بكتابة عنوان مباشرة (على سبيل المثال https://adventure-works.com)، أو تحديد ارتباط، أو زر يتضمن عنوان URL المناسب. على موقع التجارة الإلكترونية قد يكون لديك عناوين URL التي تبدو كما يلي:

  • https://adventure-works.com/ للصفحة الرئيسية
  • https://adventure-works.com/products/widget للحصول على تفاصيل حول عنصر واجهة المستخدم
  • https://adventure-works.com/cart/buy لإكمال عملية شراء

بصفتنا مطورا، لا داعي للقلق بشأن الجزء الأول من عنوان URL أو المجال (adventure-works.com في مثالنا). يتم وضع تطبيقنا موضع التنفيذ بناء على كل ما يأتي بعد اسم المجال، بدءا من /. الجزء بعد اسم المجال هو ما يعرف باسم المسار.

المسار هو مسار إلى إجراء. على غرار النقر فوق زر في تطبيق الأجهزة المحمولة، يشير المسار إلى الإجراء الذي يريد المستخدم تنفيذه. سنقوم بتسجيل طرق مختلفة في تطبيق الويب الخاص بنا للرد على الطلبات المختلفة التي يدعمها تطبيقنا.

في تطبيقنا، نُشير إلى كيفية الاستجابة لطلب مسار معين من خلال توفير وظيفة. المسار هو خريطة إلى وظيفة. عندما نفكر في كتابة التعليمات البرمجية بشكل عام، هذا المفهوم طبيعي نسبيًا. عندما نرغب في القيام بعمل معين، فإننا نستدعي وظيفة. مستخدمونا سيفعلون نفس الشيء بالضبط! سيفعلون ذلك بشكل مختلف قليلاً من خلال الوصول إلى المسار.

الأساليب أو الأفعال

يمكن الوصول إلى المسارات بطرق عديدة، من خلال ما يعرف بالأساليب أو الأفعال (وهذان المصطلحان يعنيان نفس الشيء ويمكن استخدامهما بالتبادل). توفر كيفية الوصول إلى المسار سياقًا إضافيًا حول حالة طلب المستخدم والإجراء الذي يريد المستخدم تنفيذه.

هناك العديد من الطرق المتاحة عند إنشاء تطبيق ويب، ولكن الأكثر شيوعا (والاثنين الوحيدين الذين سنركز علىهما) هما GET وPOST. يشير GET عادة إلى أن المستخدم يطلب معلومات، بينما يشير POST إلى أن المستخدم يحتاج إلى إرسال شيء إلينا وتلقي استجابة.

إشعار

بغض النظر عن الفعل المستخدم، يمكن دائما إرجاع المعلومات إلى المستخدم.

يدور تدفق التطبيق الشائع الذي يستخدم GET وPOSTحول استخدام نموذج. لنفترض أننا نقوم بإنشاء تطبيق حيث يريد المستخدم التسجيل للحصول على قائمة بريدية:

  1. يصل المستخدم إلى نموذج التسجيل عبر GET
  2. يُكمل المستخدم النموذج ويختار زر الإرسال
  3. يتم إرسال المعلومات من النموذج مرة أخرى إلى الخادم باستخدام POST
  4. يتم إرجاع رسالة "نجاح" إلى المستخدم

كما قد تشك، لا يشير المستخدم مباشرة إلى الفعل الذي يريد استخدامه، بل يتحكم فيه التطبيق. بشكل عام، إذا انتقل المستخدم إلى عنوان URL مباشرة، عن طريق كتابته في ارتباط أو عن طريق تحديده، فإنه يصل إلى الصفحة باستخدام GET. عندما يحددون زرا لنموذج، فإنهم عادة ما يرسلون المعلومات عبر POST.

إشعار

نحن نبقي هذه المحادثة على مستوى عالٍ نسبيًا، لأن مناقشة كاملة من الأساليب خارج نطاق هذه الوحدة.

القوالب

لغة تمييز النص التشعبي أو HTML هي اللغة المستخدمة في بنية المعلومات المعروضة على المتصفح، بينما تستخدم أوراق الأنماط المتتالية أو CSS لإدارة النمط والتخطيط. وعند إنشاء تطبيق، فإن معظم HTML ستكون ثابتة، مما يعني أنها لن تتغير. ومع ذلك، لجعل صفحاتنا ديناميكية، نحتاج إلى أن نكون قادرين على وضع المعلومات برمجيًا في صفحة HTML. يدعم كل إطار عمل ويب تقريبًا هذا المطلب من خلال القوالب.

يسمح لك القالب بكتابة HTML الأساسي (أو قالب) والإشارة إلى العناصر النائبة للمعلومات الديناميكية. ربما يكون بناء الجملة الأكثر شيوعا للعناصر النائبة هو {{ }}. يستخدم Jinja، محرك القولبة لـ Flask، بناء الجملة هذا.

<h1>Welcome, {{ name }}</h1>

في المثال السابق، لدينا HTML ( h1 رأس)، مع النص الذي نريد عرضه. يشير {{ name }} إلى أننا نريد عرض متغير يسمى name مباشرةً بعد Welcome. باستخدام بناء الجملة هذا يمكننا كتابة HTML لدينا مع مهاراتنا الحالية، وإدخال المعلومات الميكانيكية حسب الحاجة.

‏‫اختبر معلوماتك

1.

يعد Flask إطار عمل لبناء تطبيقات الويب في أي من اللغات التالية؟