Django 脆皮表格 - 换行符过滤器
Django crispy forms - linebreaks filter
我希望在模板中使用 linebreaks filter
和 crispy forms
,我通常只使用普通形式:
{{ form|linebreaks }}
但是我正在渲染的 crispy_form
使用了模板中的标签:
{% crispy_form %}
如何使用 linebreaks filter
?
在文档或其他地方什么也没发现后,我设法解决了这个问题。在 view
中,我使用 Layout
object and 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 %}
模板标签保留在模板中。
我希望在模板中使用 linebreaks filter
和 crispy forms
,我通常只使用普通形式:
{{ form|linebreaks }}
但是我正在渲染的 crispy_form
使用了模板中的标签:
{% crispy_form %}
如何使用 linebreaks filter
?
在文档或其他地方什么也没发现后,我设法解决了这个问题。在 view
中,我使用 Layout
object and 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 %}
模板标签保留在模板中。