繁体   English   中英

Django脆皮表单-换行符过滤器

[英]Django crispy forms - linebreaks filter

我希望将换行符 filter与模板中的易碎 crispy forms一起使用,通常使用普通形式:

{{ form|linebreaks }}

但是我渲染的crispy_form在模板中使用标签:

{% crispy_form %}

如何与此一起使用linebreaks filter

在文档或其他地方什么都没发现之后,我设法解决了这个问题。 view我使用了Layout对象和django.template.defaultfilters.linebreaks_filter来将纯文本中的linebreaks替换为HTML等效项。 例如:

from django.template.defaultfilters import linebreaks_filter
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit

class ExampleForm(forms.Form):
[...]
def __init__(self, *args, **kwargs):
    self.helper = FormHelper()
    self.helper.form_method = 'post'
    self.helper.add_input(Submit('submit', 'Submit'))
    self.helper.layout = Layout(
        HTML('<p>{}</p>'.format(
            linebreaks_filter(some_text_with_line_breaks)
        )
    )
    super(ExampleForm, self).__init__(*args, **kwargs)

{% crispy_form %}模板标记保留在模板中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM