【问题标题】:How to prevent django forms removing newline characters如何防止 django 表单删除换行符
【发布时间】:2014-12-14 19:10:06
【问题描述】:

如何防止 django 从表单文本字段输入中删除换行符?

当我在表单的文本字段中输入此内容时:

啊啊

bbb

ccc

我希望它保持如上。但是 django 将其转换为:

aaa bbb ccc

我已经尝试过像这样覆盖 clean() 方法(我希望删除多个空格,但不是 EOL 字符):

class ThreadForm(ModelForm):
    def clean(self):
        cleaned_data = self.cleaned_data
        body = cleaned_data.get('body')
        body = re.sub(' +', '', body)
        cleaned_data['body'] = body

        return cleaned_data

    body = forms.CharField(max_length=25000, widget=forms.Textarea, required=False)
    class Meta:
        model = Thread
        fields = ['title', 'posted_by']
        exclude = ['']

但它没有用。有任何想法吗? 谢谢

解决方案:

{{ value|linebreaksbr }}

【问题讨论】:

    标签: python django forms newline eol


    【解决方案1】:

    你只需要linebreaksbr

    {{ value|linebreaksbr }}
    

    【讨论】:

    • 很好,它适合我的例子,但是当我尝试传递多个 EOL(如 10)时,它只留下 1 或 2 .. 我该如何解决这个问题?无论如何谢谢
    • 好的,我找到了解决方案。我用 {{ value|linebreaksbr }} 而不是 {{ value|linebreaks }}
    • @HopeIcanChangeThisInFutere 是的,更新了答案,;) 很高兴我能提供帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 2010-10-23
    相关资源
    最近更新 更多