外部ファイルを使用して、保守性と関心の分離を向上させることができます。
- フォームの
__init__()
メソッドを変更します。
- の後
super(MyForm, self).__init__(*args, **kwargs)
;
render_to_string()
の結果をに割り当てself.fields['my_field'].help_text
ます。
フォーム.py
django.template.loader import render_to_string から
class MyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
# Only in case we build the form from an instance,
if 'instance' in kwargs and kwargs['instance'].nature == consts.RiskNature.RPS:
self.fields['my_field'].help_text = render_to_string('components/my-template.html')
# ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
my-template.html
{% load i18n %}
<table class="table table-bordered">
<tr>
<th>{% trans 'Externe' %}</th>
</tr>
<tbody class="text-muted">
<tr>
<td>{% trans "En lien avec les relations de travail" %}</td>
</tr>
<tr>
<td>{% trans "-" %}</td>
</tr>
</tbody>
</table>