عند الاستيلاء عليها لاستخدام جانغو معالجات السياق؟

StackOverflow https://stackoverflow.com/questions/831301

  •  06-07-2019
  •  | 
  •  

سؤال

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

هل كانت مفيدة؟

المحلول

وسيتم تشغيل مهيئ RequestContext أي معالجات السياق المدرجة في ملف الإعدادات، لكنه يأخذ أيضا قائمة من معالجات إضافية لتشغيل. أي معالجات السياق أغراض العامة يمكن وضعها في settings.py ويمكن إضافة أكثر منها محددة إلى RequestContext على أساس كل حالة على حدة.

واترك RequestContext خارج تماما لعدم تشغيل أي معالجات السياق.

# want context processors listed in settings.py as well as some more specific ones
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request, processors = extra_processors))

# want only context processors listed in settings.py
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request))

# no context processors
return render_to_response('template.html', {'foo':'bar'})

نصائح أخرى

ويمكنك تصفية التي تعتبرها فعلا استخدام معالجات السياق عن طريق تمرير RequestContext(request) فقط فقط لتلك التي في حاجة إليها، منها مثلا:

# want context processors
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request))

# no context processors
return render_to_response('template.html', {'foo':'bar'})
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top