سؤال

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

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

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

يحرر: وعلق جيمس بأنه يمكن العثور على أحدث كود جديد هنا في بيتبوكت.

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

المحلول

  1. اكتب غلافًا يستخدم عنوان URL للبحث عن كائن الصفحة المسطحة المناسب.
  2. من غلافك، اتصل (وأعد الاستجابة من) عرض نموذج الاتصال، وقم بتمرير الصفحة المسطحة في ملف extra_context الحجة (الموجودة، من بين أمور أخرى، على وجه التحديد لهذا النوع من حالة الاستخدام).
  3. ليس هناك خطوة ثالثة.

نصائح أخرى

هناك معالج سياق قد يفعل ما تريد.

http://docs.djangoproject.com/en/dev/ref/templates/api/

ربما يمكنك إضافة أجزاء مختلفة من "معلومات الصفحة المسطحة" إلى السياق.

معالجات السياق هي ما تفكر فيه.و render_to_response غير ذي صلة.المعلومات المطلوبة هي ما إذا كان العرض يستخدم RequestContext أم لا، لأن هذا هو ما ينشط معالجات السياق.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top