我不希望有人访问我的网站评论说,只有空格,在表单上的隔断线。在这种情况下,如何使用命令"if“?感谢您的回答!
发布于 2009-11-03 15:28:51
所以我猜你想要的是检查提交的评论是否只有空格或换行符(即空白字符),或者是一个空评论,然后忽略该评论(或者向用户显示一条消息)。您可以使用正则表达式来完成此操作:
import re
if re.search('^\s*$', comment_text)
// empty comment, do something发布于 2009-11-03 14:57:47
我不确定,您是否真的希望在视图本身或模板中处理此问题。一段时间以来,Django的注释框架允许您定义moderators,您可以在其中实现您想要检测不需要的注释的所有逻辑。
关于如何使用它的一个很好的例子,请看一下BartTC's django-comments-spamfighter app。
当然,这需要首先使用Django的评论框架。如果没有,可以在表单的validate方法中去掉所有换行符和空格,并检查注释消息是否仍然长于0个字符。Python中的字符串有一个很好的叫做strip的小函数来处理这些事情:-)
发布于 2009-11-04 02:37:43
我想你只需要使用一个表单并添加一个干净的方法。我刚刚在一个交互式控制台中尝试了一下:
>>> 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']}https://stackoverflow.com/questions/1665612
复制相似问题