Django:どのようにブロックの入力が含まれているのみですが、スペースまたはbreaklines

StackOverflow https://stackoverflow.com/questions/1665612

  •  13-09-2019
  •  | 
  •  

質問

たくない人に私のサイトのコメントするのみ空間breaklinesリックします。の使い方を教えてくださいコマンド"の場合"かるでしょうか?り回答!

役に立ちましたか?

解決

だから私はあなたが何をしたいと思い提出したコメントは、空のコメントを(すなわち、空白文字)のみ、スペースや改行を持っているかであるかどうかを確認してから、そのコメントを無視する(または、ユーザーへのメッセージを表示)することです。 あなたは正規表現を使用してこれを行うことができます:

import re

if re.search('^\s*$', comment_text)
   // empty comment, do something

他のヒント

んだんに取り扱うこのビューまたはテンプレートを作成します。年間Djangoのコメントの枠組みを定義しま モデレーター までに実施すべてのロジックしたい検出不要。

も例であり、それをどう使うかこれらを実現するために、 BartTCのdjangoのコメント-spamfighterアプリ.

確かにその利用Djangoのコメントの枠組みます。かない場合には、ご検証方法の形式でストリップ離れたすべての改行や空白一般に確認したい場合、コメントメッセージは以下を0文字以内です。文字列Pythonてちょっとした機能と呼ばれるもの strip うにす:-)

私はあなただけのフォームを使用してクリーンなメソッドを追加する必要がありますね。私はちょうどインタラクティブコンソールでそれを試してみた:

>>> from django import forms
>>> class CommentForm(forms.Form):
        comment = forms.CharField()
        def clean_comment(self):
           comment = self.cleaned_data['comment']
           comment = comment.strip()
           if len(comment) == 0:
               raise forms.ValidationError('Comment can not be blank')
           else:
            return comment
>>> form = CommentForm(data={'comment': '     '})
>>> form.is_valid()
False
>>> form.errors
{'comment': [u'Comment can not be blank']}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top