2009-11-03 1 views

답변

0

그래서 내가 원하는 것은 제출 된 주석에 공백이나 줄 바꿈 (공백 문자) 만 있는지 또는 빈 주석인지 확인하는 것입니다. 그 주석을 무시하십시오 (또는 사용자에게 메시지를 보여주십시오). 당신이 사용하는 정규 표현식을 수행 할 수 있습니다

import re 

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

:) 감사합니다. – anhtran

1

정말보기 자체 또는 템플릿 내에서이 문제를 처리하려면 확실하지 않습니다. Django의 주석 프레임 워크로 인해 moderators을 정의 할 수 있습니다. 여기서 원하지 않는 주석을 감지하려는 모든 로직을 구현할 수 있습니다.

사용 방법에 대한 좋은 예는 BartTC's django-comments-spamfighter app을 참조하십시오.

확실히 이것은 먼저 Django의 주석 프레임 워크를 사용해야합니다. 그렇지 않다면, 폼의 유효성 검증 메소드에서 모든 개행과 공백을 제거하고 주석 메시지가 여전히 0보다 길면 점검 할 수 있습니다. 파이썬의 문자열에는 strip이라는 멋진 기능이 있습니다 :-)

+0

아, 미안합니다. 나는 단지 그것을 위해 그것을 만든다. 사실, 내가 원하는 것은 파이썬 코드에서 원치 않는 문자를 잡는 방법이다. 특히 여기에는 공백과 끊어짐이 있습니다. – anhtran

+0

이 경우 comment_text.strip을 사용하여 원하지 않는 문자를 모두 없애거나 (tomlog에서 설명한대로) 정규 표현식을 사용하고 사회자에게 포함 시키십시오. –

0

난 당신이 단지 양식을 사용하고 깨끗한 방법을 추가해야 할 것 같아요. 방금 대화 형 콘솔에서 사용해 보았습니다.

>>> 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']} 
+0

와우, 정말 분명합니다. 감사! – anhtran