تعامل مع مشاركة الموارد بين الأصول باستخدام امتداد Flask-CORS

Flask-CORS هي مكتبة بايثون تعالج مشاركة الموارد بين المصادر المختلفة (CORS) لتطبيقات Flask، مما يضمن وجود اتصال آمن بين تطبيق Flask الخاص بك والمجالات الأخرى.

Amir Hassan

Amir Hassan

28 مايو 2025

تعامل مع مشاركة الموارد بين الأصول باستخدام امتداد Flask-CORS

في عالم تطوير الويب، يعتبر تأمين الاتصال الآمن عبر المجالات المختلفة أمرًا بالغ الأهمية. هنا يظهر Flask-CORS كأداة حيوية لتطبيقات Flask المبنية باستخدام Python. من خلال تبسيط تكوينات مشاركة الموارد عبر الحدود (CORS)، يعزز Flask-CORS قدرة المطورين على إدارة المصادر المصرح بها التي يمكنها التفاعل مع واجهات برمجة التطبيقات الخاصة بهم بدقة.

💡
لا شك أن Flask هي واحدة من أكثر أطر الويب المستخدمة في Python اليوم. لبناء واجهات برمجة التطبيقات الخاصة بـ Flask بشكل صحيح، يُوصى بشدة بتجربة Apidog، وهي منصة شاملة لتطوير واجهات برمجة التطبيقات كاملة بكل ما يلزم لتطوير واجهات برمجة التطبيقات المهنية.

للبدء في التطوير كمحترف، انقر على الزر أدناه الآن! 👇
button

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

نظرًا لأن القلق الرئيسي لهذا المقال يتعلق بـ Flask ومشاركة الموارد عبر الحدود، سنلقي نظرة عن كثب على كلا المفهومين قبل كيفية تمكين مجموعة Flask-CORS.

ما هو Flask؟

تشير Flask إلى إطار عمل ويب بلغة Python يوفر أساسًا خفيف الوزن ومرنًا لبناء تطبيقات الويب.

الجوانب الرئيسية لـ Flask

فلسفة بسيطة

على عكس الأطر الشاملة، تتبنى Flask نهجًا بسيطًا. تقدم وظائف أساسية لتطوير الويب، مثل التوجيه ومعالجة الطلبات، ولكن لا تفرض هيكلًا صارمًا.

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

التوجيه

تستخدم Flask نظام توجيه يربط عناوين URL بمهام Python (تسمى العروض). عندما يصل مستخدم إلى عنوان URL محدد، يتم تنفيذ وظيفة العرض المقابلة.

يوفر هذا النظام المرن للتوجيه تحكمًا دقيقًا للمطورين حول كيفية معالجة عناوين URL وما هي الإجراءات التي يتم تفعيلها.

تكامل محرك القوالب

لا تتعامل Flask وحدها مع القوالب، ولكنها تتكامل بسلاسة مع محركات القوالب الشهيرة مثل Jinja2.

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

معالجة الطلبات والاستجابات

توفر Flask أدوات لمعالجة الطلبات الواردة HTTP وتوليد الاستجابات المناسبة من خلال طلب معلومات كائن مثل رؤوس الطلب، وملفات تعريف الارتباط، والبيانات التي أرسلها العميل. سيتمكن المطورون أيضًا من إنشاء وتخصيص استجابات HTTP مع الرؤوس، وأكواد الحالة، وأجسام الاستجابة.

خفيف وسريع

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

سهل الاستخدام

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

قابل للتوسيع

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

خادم التطوير المدمج

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

دليل خطوة بخطوة لاستخدام Flask-CORS

ستتضمن هذه الوثيقة دليلًا مبسطًا حول كيفية تثبيت Flask-CORS على جهازك، حتى تتمكن من البدء في استخدام الإضافة في واجهات برمجة التطبيقات وتطبيقات Flask الخاصة بك!

التثبيت

ابدأ بتثبيت مكتبة Flask-CORS باستخدام pip:

pip install flask-cors

الاستخدام الأساسي

1. استورد Flask-CORS ونسخة تطبيق Flask الخاص بك:

from flask import Flask
from flask_cors import CORS

2. قم بإنشاء نسخة من تطبيق Flask الخاص بك:

app = Flask(__name__)

3. قم بتهيئة Flask-CORS. بشكل افتراضي، يسمح ذلك بطلبات CORS من جميع المصادر:

CORS(app)

تمكين CORS لمصادر محددة

أثناء التهيئة، يمكنك تحديد المصادر المسموح بها كقائمة:

CORS(app, origins=['http://allowed-domain1.com', 'http://allowed-domain2.com'])

تخصيص سلوك CORS (اختياري)

توفر Flask-CORS خيارات لتكوين جوانب مختلفة من سلوك CORS:

راجع وثائق Flask-CORS للحصول على معلومات مفصلة حول هذه الخيارات: https://github.com/corydolphin/flask-cors

التكامل مع الموجهات

بشكل افتراضي، ينطبق Flask-CORS على جميع الموجهات في تطبيقك. يمكنك أيضًا استخدام @cross_origin() الزخرفة على موجهات معينة لتمكين CORS لتلك الموجهات فقط. إليك مثال:

@app.route("/")
@cross_origin()  # قم بتمكين CORS لهذه الموجهة
def hello_world():
    return "Hello, World!"

تذكر:

ابدأ في إنشاء واجهات برمجة التطبيقات Flask باستخدام Apidog

إذا كان لديك بالفعل شفرة Python جاهزة لواجهة برمجة تطبيقات Flask، كل ما عليك فعله هو الحصول على منصة واجهة برمجة التطبيقات للبدء في تطويرها بصريًا!

إذا لم تستخدم أداة واجهة برمجة تطبيقات من قبل، نوصي بشدة بتجربة Apidog، وهي أداة متطورة لتطوير واجهات برمجة التطبيقات التي تجهز المستخدمين بكل الأدوات اللازمة لدورة حياة واجهة برمجة التطبيقات بالكامل.

واجهة apidog
button

صمم وعدل واجهات برمجة التطبيقات بالطريقة التي تريدها باستخدام Apidog

يمكن أن empower Apidog أي مستخدم أن يمتلك القدرة على إنشاء واجهة برمجة التطبيقات الخاصة به، وبالتالي، لا يوجد سبب للاعتراض على واجهة برمجة التطبيقات التي لا تلبي احتياجاته!

واجهة api جديدة apidog

ابدأ بالضغط على زر New API، كما هو موضح في الصورة أعلاه.

إضافة تفاصيل جديدة api apidog

في هذا القسم، ستقوم بإتقان كيف تتفاعل واجهة برمجة التطبيقات الخاصة بك مع التطبيقات. يمكنك تحديد:

اختبار واجهات برمجة التطبيقات باستخدام Apidog

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

الخطوة الأولى هي إدخال نقطة النهاية المحددة لواجهة برمجة التطبيقات التي ترغب في اختبارها. أضف تفاصيل إضافية مثل المعلمات إذا لزم الأمر للاختبار لديك API المحدد.

إذا لم تكن متأكدًا من استخدام معلمات متعددة في عنوان URL، يمكن أن توجهك هذه المقالة حول كيفية الوصول إلى المورد المحدد ضمن مجموعات البيانات الأكبر!

عرض استجابة apidog

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

button

الخاتمة

يظهر Flask-CORS كحل قوي وسهل الاستخدام لإدارة تكوينات CORS داخل تطبيقات Flask. من خلال تبسيط العملية، فإنه يمنح المطورين القدرة على التحكم بدقة في المجالات الخارجية التي يمكنها التفاعل مع واجهات برمجة التطبيقات الخاصة بهم. يضمن هذا الاتصال الآمن ويعزز التكامل السلس مع الموارد الخارجية. سواء كنت تبني تطبيق ويب بسيط أو خدمة ويب معقدة، فإن Flask-CORS يمكّنك من إقامة اتصال آمن ومتحكم بين تطبيق Flask الخاص بك والعالم الخارجي، مما يمهد الطريق لإنشاء تطبيقات قوية وغنية بالميزات.

علاوة على ذلك، فإن قابلية التوسع وسهولة الاستخدام لـ Flask-CORS يجعلانها خيارًا جذابًا للمطورين من جميع مستويات الخبرة. مع وثائقها الواضحة وخيارات التكوين المتاحة بسهولة، تساعد Flask-CORS المطورين في التركيز على بناء الوظائف الأساسية لتطبيقاتهم دون الانغماس في تكوينات CORS المعقدة. مع استمرار تطور تطوير الويب، من المحتمل أن تظل Flask-CORS أداة حيوية للمطورين الذين يسعون إلى حل قوي ومرن لإدارة CORS داخل تطبيقاتهم Flask.

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات