這個儲存庫是我在編寫使用 htmx 的 Django 專案時使用和開發的模式的粗略彙編,並帶有完整的範例程式碼。
這些文件旨在在 GitHub 上查看:https://github.com/spookylukey/django-htmx-patterns/,如果需要,程式碼可以在本地運行。
我的目標是記錄和分享:
除非另有說明,所提供的程式碼僅依賴 Django 和 htmx。我不會將其打包為一個庫。相反,它被發佈到公共領域,並鼓勵您根據自己的需求複製和貼上它。 (請參閱「方法」文件以了解原因)。
有一些 Django 套件為這裡提到的某些內容提供了快捷方式,例如 django-htmx,但為了清楚起見,我不會使用其中任何一個。
這是一項正在進行的工作,我會盡力保持最新狀態。歡迎 PR。
此儲存庫中最大的貢獻是:
模板中帶有區塊選擇的內聯部分。
這種模式允許您將頁面的各個部分保持在一起,以實現良好的“行為局部性”,並避免視圖程式碼必須了解有關正在使用哪些範本片段/部分的任何資訊。 htmx 的模板程式碼變更通常是將模板的某些部分包裝在 Django 模板block
中並新增標準 htmx 屬性。 htmx 的視圖程式碼變更通常只是在檢視函數上新增一個裝飾器: @for_htmx(use_block_from_params=True)
。
這種模式對 Django 中的 htmx 可用性產生了巨大的影響。
逐字段 htmx 表單驗證的完整範例,同時保留 Django 的表單抽象及其所有優點。
做模態的好模式
薑戈
htmx(請參閱基本範本以取得建議的安裝文件)
這裡最好的模式需要 django-render-block:
pip 安裝 django-render-block
我的範例程式碼包括悲傷和快樂的怪物,可以擁抱或踢它們來改變它們的狀態。請注意,我不贊成踢怪物,也不建議擁抱它們。
程式碼資料夾中有一個演示應用程序,其中包含文件中所有內容的完整工作範例。
若要在本機安裝,請建立並啟動 virtualenv,然後執行以下操作:
光碟程式碼 pip install -r 要求.txt python 管理.py 遷移 python 管理.py runserver
非常歡迎您的回饋!如果您喜歡此儲存庫,請為其加註星標,並請在討論中分享想法。
其他一些好的 htmx 資源:
如果您喜歡這個儲存庫,我的其他一些資源也可能會對您有所幫助: