Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:如何阻止仅包含空格或特征线的条目_Django_Django Views - Fatal编程技术网

Django:如何阻止仅包含空格或特征线的条目

Django:如何阻止仅包含空格或特征线的条目,django,django-views,Django,Django Views,我不希望有人访问我的网站,评论表单上只有空格、特征线。在这种情况下,如何使用命令“if”?谢谢你的回答 我不确定您是否真的希望在视图本身或模板中处理此问题。一段时间以来,Django的注释框架允许您定义在哪里可以实现您想要检测不需要的注释的所有逻辑 关于如何使用它的一个很好的例子,请看 当然,这首先需要使用Django的评论框架。如果您不这样做,您可以在表单的validate方法中去掉所有的换行符和空格,并检查注释消息是否仍然超过0个字符。Python中的字符串有一个很好的小函数,名为strip

我不希望有人访问我的网站,评论表单上只有空格、特征线。在这种情况下,如何使用命令“if”?谢谢你的回答

我不确定您是否真的希望在视图本身或模板中处理此问题。一段时间以来,Django的注释框架允许您定义在哪里可以实现您想要检测不需要的注释的所有逻辑

关于如何使用它的一个很好的例子,请看


当然,这首先需要使用Django的评论框架。如果您不这样做,您可以在表单的validate方法中去掉所有的换行符和空格,并检查注释消息是否仍然超过0个字符。Python中的字符串有一个很好的小函数,名为
strip
,用于处理这些事情:-)

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

import re

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

我想您只需要使用一个表单并添加一个干净的方法。我刚刚在交互式控制台中试用过:

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

哦,对不起,不清楚。我只是举个例子。事实上,我想要的是如何捕获python代码中不需要的字符。这里特别是空格和特征线。在这种情况下,使用comment_text.strip删除所有不需要的字符,或者使用正则表达式(如tomlog所述)并将其嵌入到调节器中:-)