0Pricing
Python Academy · درس

المسارات وواجهات العرض

عالج طلبات HTTP

المسارات وواجهات العرض درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

ما هو Flask؟

إن Flask إطار عمل ويب خفيف للغة Python. ويتيح لك إنشاء تطبيقات ويب وواجهات API باستخدام قدر قليل جدًا من التعليمات البرمجية المتكررة. ثبّته باستخدام pip install flask.

from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)

إنشاء التطبيق

يبدأ كل تطبيق Flask بكائن app = Flask(__name__). وتساعد الوسيطة __name__ Flask في تحديد موقع الموارد مثل القوالب.

from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
    # app.run() starts the development server
    print('App is ready to run')

مسارك الأول

يربط المسار عنوان URL بدالة، تُسمى العرض. ويربط الديكوريتور @app.route() المسار، بينما تصبح القيمة التي تُرجعها الدالة جسم الاستجابة.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Hello, world!'
print('Route / -> home')

مسارات متعددة

يمكنك تعريف العدد الذي تريده من المسارات. ويحصل كل مسار على دالة عرض خاصة به.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Home page'

@app.route('/about')
def about():
    return 'About page'
print('Two routes defined')

أجزاء URL الديناميكية

التقط أجزاءً من عنوان URL باستخدام <variable>. ويمرّرها Flask إلى العرض على شكل وسائط.

from flask import Flask
app = Flask(__name__)

@app.route('/user/<username>')
def show_user(username):
    return 'Profile of ' + username
print('URL /user/alice -> show_user')

المحوّلات ذات الأنواع

أضف محوّلًا مثل <int:post_id> لكي يتحقق Flask من القيمة ويحوّلها إلى النوع الصحيح.

from flask import Flask
app = Flask(__name__)

@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post number ' + str(post_id)
print('post_id arrives as an int')

أساليب HTTP

تتعامل المسارات افتراضيًا مع GET. مرّر methods=['GET', 'POST'] لقبول أفعال أخرى.

from flask import Flask
app = Flask(__name__)

@app.route('/submit', methods=['GET', 'POST'])
def submit():
    return 'Handled GET or POST'
print('submit accepts GET and POST')

التحقق من الأسلوب

تخبرك request.method داخل العرض بالفعل المستخدم، حتى تتمكن من تفريع منطقك وفقًا له.

from flask import Flask, request
app = Flask(__name__)

@app.route('/submit', methods=['GET', 'POST'])
def submit():
    if request.method == 'POST':
        return 'Form submitted'
    return 'Show the form'
print('Branch on request.method')

إرجاع رموز الحالة

أرجع صفًا من النوع (body, status_code) لتعيين حالة HTTP، مثل 404 عند عدم العثور على المورد.

from flask import Flask
app = Flask(__name__)

@app.route('/missing')
def missing():
    return 'Not here', 404
print('Returns body with status 404')

إنشاء عناوين URL

تنشئ url_for('view_name') عنوان URL من اسم العرض. ويجنبك ذلك تثبيت المسارات في الشيفرة، إذ قد تتغير لاحقًا.

from flask import Flask, url_for
app = Flask(__name__)

@app.route('/about')
def about():
    return 'About'
# url_for('about') -> '/about'
print('url_for builds URLs by view name')

تشغيل الخادم

استدعِ app.run(debug=True) لبدء خادم التطوير. يعيد وضع التصحيح التحميل عند حدوث تغييرات ويعرض صفحات أخطاء مفيدة.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def home():
    return 'Hi'

if __name__ == '__main__':
    app.run(debug=True)

اختبار سريع

اختبر معرفتك بالتوجيه.

مراجعة

أنشأت مسارات وعروض Flask.

  • ينشئ app = Flask(__name__) التطبيق
  • يربط @app.route() عنوان URL بدالة عرض
  • يلتقط <int:id> أجزاء URL الديناميكية ويحوّلها
  • يتولى methods= وrequest.method التعامل مع أفعال HTTP
  • ينشئ url_for() عناوين URL، ويبدأ app.run() الخادم

الأسئلة الشائعة

هل درس «المسارات وواجهات العرض» مجاني؟

نعم — نص درس «المسارات وواجهات العرض» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «المسارات وواجهات العرض»؟

عالج طلبات HTTP تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «المسارات وواجهات العرض»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. المسارات وواجهات العرض
  2. القوالب باستخدام Jinja2
  3. النماذج وبيانات الطلب
  4. إنشاء نقطة نهاية REST
← العودة إلى Python Academy