هذا الريبو عبارة عن تجميع تقريبي وجاهز للأنماط التي أستخدمها وأطورها عند كتابة مشاريع Django التي تستخدم htmx، مع نموذج كامل للكود.
تم تصميم المستندات ليتم عرضها على GitHub: https://github.com/spookylukey/django-htmx-patterns/ ويمكن تشغيل الكود محليًا إذا لزم الأمر.
أهدافي هي التوثيق والمشاركة:
يعتمد الكود المقدم فقط على Django وhtmx، ما لم يُذكر خلاف ذلك. لن أقوم بتغليفها كمكتبة. وبدلاً من ذلك يتم إصداره إلى الملكية العامة، وننصحك بنسخه ولصقه لتلبية احتياجاتك الخاصة. (راجع مستندات "النهج" لمعرفة السبب).
هناك بعض حزم Django التي توفر اختصارات لبعض الأشياء المذكورة هنا، مثل django-htmx، لكنني لن أستخدم أيًا منها من أجل الوضوح.
هذا عمل قيد التقدم، وسأحاول أن أبقيه محدثًا. العلاقات العامة موضع ترحيب.
أكبر المساهمات في هذا الريبو هي:
الأجزاء المضمنة مع تحديد الكتلة في القالب.
هذا هو النمط الذي يسمح لك بالاحتفاظ بأجزاء الصفحة معًا من أجل "منطقة سلوك" رائعة، وتجنب الاضطرار إلى معرفة أي شيء حول أجزاء/أجزاء القالب التي يتم استخدامها. عادةً ما تكون تغييرات رمز القالب لـ htmx عبارة عن تغليف بعض أجزاء القالب في block
قالب Django وإضافة سمات htmx القياسية. غالبًا ما تكون تغييرات كود العرض لـ htmx مجرد إضافة ديكور واحد إلى وظيفة العرض: @for_htmx(use_block_from_params=True)
.
يُحدث هذا النمط فرقًا كبيرًا في سهولة استخدام htmx في Django.
مثال كامل للتحقق من صحة نموذج htmx حقلاً تلو الآخر، مع الحفاظ على تجريد نموذج Django وجميع فوائده.
أنماط جميلة للقيام مشروط
جانغو
htmx (راجع القالب الأساسي لمستندات التثبيت المقترحة)
تتطلب أجمل الأنماط هنا كتلة Django-render:
نقطة تثبيت Django-render-block
يشتمل نموذج المثال الخاص بي على وحوش حزينة وسعيدة يمكن احتضانها أو ركلها لتغيير حالتها. مع العلم أنني لا أؤيد ركل الوحوش، ولا أنصح باحتضانها.
يوجد في مجلد التعليمات البرمجية تطبيق تجريبي يحتوي على أمثلة عمل كاملة لكل شيء في المستندات.
للتثبيت محليًا، قم بإنشاء Virtualenv وتنشيطه، ثم قم بما يلي:
رمز القرص المضغوط تثبيت النقطة -r متطلبات.txt بايثون Manage.py ترحيل بيثون Manage.py runserver
ملاحظاتك موضع ترحيب للغاية! ضع نجمة على هذا الريبو إذا أعجبك، ويرجى مشاركة الأفكار حول المناقشات.
بعض موارد htmx الجيدة الأخرى:
إذا أعجبك هذا الريبو، فقد تساعدك أيضًا بعض مواردي الأخرى: