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

السؤال

نشر

لدي مسار كالتالي:

@user.route('/posts/<page>')
def posts(page):
    pass

وأريد ان أجعل قيمة page إختيارية، بحيث تكون القيمة الإفتراضية هي 1، كيف أقوم بهذا الأمر في فلاسك Flask؟ هل يجب أن أقوم بعمل مسار آخر ودالة أخرى للقيام بهذه المهمة؟

Recommended Posts

  • 1
نشر

يمكنك أن تقوم بعمل معاملات إخيارية عبر طريقتين:

  • الطريقة الأولى من خلال إستخدام أكثر من مسار لنفس الدالة، ووضع قيمة إختيارية للمعامل page في الدالة:
    @app.route('/posts/')	# يجب أن ينتهي المسار بعلامة / لكي يعمل بشكل سليم
    @app.route('/posts/<page>')
    def posts(page = 1):	# القيمة الإفتراضية للمعامل page
        return str(page)
  • الطريقة الثانية هي من خلال إستخدام المعامل defaults، حيث أن التابع app.route يقوم بإستقبال معامل إختياري باسم defaults لتحديد معاملات الدالة الإفتراضية، ونستخدمه في المسارات التي قد لا تحتوي على أحد (أو بعض) معاملات الدالة نفسها، على النحو التالي:
@app.route('/posts/', defaults={'page': 1})	# يجب أن ينتهي المسار بعلامة / لكي يعمل بشكل سليم
@app.route('/posts/<page>')
def posts(page):
    return str(page)

كلا الطريقتين السابقتين تقوم بنفس المهمة، ولكن يفضل إستخدام الطريقة الثانية لأنها لا تقوم بتعديل معاملات الدالة نفسها، مما يؤدي إلى تفادي بعض الأخطاء غير المقصودة.

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...