[英]Django form help_text best practices
我們在代碼審查期間發生了爭執。 在 Django 項目中保存長格式幫助文本的最佳位置在哪里?
情況:我們需要在一個字段中添加相對較長(大約 320 個字符)的幫助文本。 對於表單渲染,我們使用 ModelForm。 對於表單渲染,我們使用引導庫。
意見 A :直接將其添加到 HTML 模板中。
# template.html
<div class="form-group">
<label for="{{ form.field.id_for_label }}">{{ form.field.label }}</label>
{{ form.field }}
<span class="help-block">
Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text.
</span>
</div>
優點:
選項 B :將其添加到 ModelForm 的 Meta。
# forms.py
help_texts = {
'field': 'Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text Help text.'
}
# template.html
{% bootstrap_field form.field %}
優點:
mark_safe()
在其中包含 HTML。您如何看待這些選項? 您能否分享您對處理 help_text 的最佳方式的看法?
恕我直言,“現場自動生成”的整個想法太可怕了。 好的,一些字段屬性來自模型,但大多數應該在 HTML 本身中。
django-silhouette項目很好地解決了這個問題,這就是我在當前項目中的目標。
至於問題本身,我會將幫助文本放在 HTML 中,作為臨時解決方案,直到您解決在 HTML 中重復自己的問題(可以使用幫助 django-silhouette 或僅共享 HTML 部分)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.