对于以下型号:
class MyModel(models.Model):
name = models.CharField(max_length=110, help_text="Some sample help text.")
def __unicode__(self):
return u'%s' % (self.name)
以下模型形式:
class MyModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_id = 'id-myModelForm'
self.helper.form_class = 'form-horizontal'
self.helper.form_action = 'my_model_form_url'
self.helper.form_error_title = 'Form Errors'
self.helper.help_text_inline = True
class Meta:
model = MyModel
使用以下模板:
{% extends "base.html" %}
{% block content %}
{% load crispy_forms_tags %}
{% crispy form %}
{% endblock %}
模型中定义的 help_text 根本不会呈现。如果我更改为self.helper.help_text_inline = False
而不是self.helper.help_text_inline = True
,它会被渲染,但这不是我想要的。
如何使用self.helper.help_text_inline = True
显示help_text?
base.html适用于所有包含的引导程序文件。
答案 0 :(得分:1)
这是因为help_text_inline
和error_text_inline
无法设置为相同的值才能工作。如果您将help_text_inline
设置为True
,则需要将error_text_inline
设置为False
。如果不这样做,则不会显示帮助文本消息,以便在发生时显示表单错误。
直到现在我还没有详细考虑过这个问题。所以最好的方法是添加一个日志警告,告诉用户要小心这个。如果设置了一个,可能会自动覆盖另一个标志的默认行为。我愿意接受建议。