0

我不希望有人访问我的网站来评论表单上只有空格和分隔线。在这种情况下如何使用命令“if”?感谢您的回答!

4

3 回答 3

1

我不确定,如果你真的想在视图本身或模板中处理这个。一段时间以来,Django 的评论框架允许您定义版主,您可以在其中实现您想要检测不需要的评论的所有逻辑。

有关如何使用它的一个很好的示例,请查看BartTC 的 django-comments-spamfighter 应用程序

当然,这首先需要使用 Django 的评论框架。如果不这样做,您可以在表单的 validate 方法中删除所有换行符和空格,并检查您的评论消息是否仍然超过 0 个字符。Python中的字符串有一个很好的小函数来调用strip这些东西:-)

于 2009-11-03T06:57:46.660 回答
0

所以我猜你想要检查提交的评论是否只有空格或换行符(即空白字符)或者是空评论,然后忽略该评论(或向用户显示消息)。您可以使用正则表达式执行此操作:

import re

if re.search('^\s*$', comment_text)
   // empty comment, do something
于 2009-11-03T07:28:51.497 回答
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']}
于 2009-11-03T18:37:43.327 回答