Django的脆皮形式:表单助手的help_text_inline工作不正常(django-cris

2019-10-17 09:19发布

对于下面的模型:

class MyModel(models.Model):
    name = models.CharField(max_length=110, help_text="Some sample help text.")
    def __unicode__(self):
        return u'%s' % (self.name)

而下面的ModelForm:

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 ,但是这不是我想要的。

如何让help_text与显示self.helper.help_text_inline = True

该base.html文件都妥当与引导文件都包括在内。

Answer 1:

这是由于这样的事实, help_text_inlineerror_text_inline不能为了工作被设置为相同的值。 如果设置help_text_inlineTrue ,你需要设置error_text_inlineFalse 。 如果你不这样做,有利于短信不显示,以显示他们发生情况表单错误。

我从来没有想过这个详细直到现在。 所以,可能是最好的将是增加日志警告,告诉用户要小心这一点。 也许会自动覆盖其它标志的默认行为,如果一个设置。 我很开放的建议。



文章来源: django-crispy-forms : help_text_inline of FormHelper not working as expected