سؤال

دعنا نقول أن لدي 3 تطبيقات django، التطبيق دولة, ، برنامج اجتماعي وتطبيق مالي.

البلد هو تطبيق "التنقل الرئيسي". يسرد جميع البلدان في عرض "فهرس" ويظهر تفاصيل لكل بلد على عرض "تفاصيل".

تشمل تفاصيل كل دولة تفاصيلها الاجتماعية (من التطبيق الاجتماعي) وتفاصيلها المالية (من التطبيق المالي).

الاجتماعية والمالية كلاهما لديه عرض التفاصيل (لكل بلد)

هل هناك طريقة أنيقة "قابس" في تلك الآراء بالتفصيل الفرعي في عرض التفاصيل الرئيسية المقدمة من قبل البلدان؟ لذلك لكل صفحة تفصيلية البلد، أود أن أرى علامات تبويب تظهر التفاصيل الاجتماعية والمالية لهذا البلد.

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

المحلول

2 حل مشترك أستخدمه لهذه المشكلة:

قوالب جزئية:
قم بإنشاء قالب لتقديم "الاجتماعية" و "المالية" لا يحتاج إلى أشياء من الرأي، بخلاف الكائن الذي يعمل عليه (ويستخدم وظائف الكائنات أو علامات القوالب لتقديمها). ثم يمكنك بسهولة {٪ تشمل٪} عليه (وتعيين المتغير اللازم أولا).
لا تجعل هذه الرأي الجزئي صفحة HTML كاملة، ولكن فقط DIV أو عنصر HTML واحد فقط ترغب في استخدامه. إذا كنت بحاجة أيضا إلى صفحة "Social-Only"، فيمكنك إنشاء صفحة تجعل الرأس ثم يتضمن القالب الجزئي. يمكنك استخدام اتفاقية مثل _template.html للقالب الجزئي، وقيم template.html للقالب العادي.

ajax:
اجعل وجهات نظرنا "الاجتماعية" و "المالية" تدرك أن يتم استدعاؤك في XMLHTPREQUEST (طلب "الطلب" ()). إذا كانت كذلك، فإنها تعرض فقط عنصر DIV فقط، دون كل HTML حولها. بهذه الطريقة يمكن أن تقدم صفحتك الرئيسية بدونها، وإضافة هذا المحتوى على الطاير.
تحتوي طريقة AJAX العديد من المزايا: لا تجعل وجهات نظر البرنامج المساعد على نفس الطلب كصفحة كاملة، لذلك إذا كان لديك العديد من وجهات النظر المكون الإضافية هذه، فستحميل الصفحة الرئيسية بشكل أسرع، ويمكنك أن تختار جافا سكريبت ذكية فقط وجهات نظر البرنامج المساعد ذات الصلة لطلب.
أيضا، يمكنك استخدام العرض العادي لتوليد البيانات التي تحتاجها في القالب (والتي لا يمكنك القيام بها حقا في طريقة القوالب الجزئية).

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