因此,我正在创建一个网站,用户可以在该网站上发布帖子,但是我想阻止某些单词在Django表单中使用。例如,我不希望他们提及CP或其他违法行为。如何阻止这些单词显示或向用户抛出错误消息
我还没有尝试过任何东西,但是我一直在研究,没有运气。
这里是帖子模型。
class Post(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=75)
text = models.TextField(max_length=250)
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True,null=True,auto_now_add=True)
tags = TaggableManager()
def publish(self):
self.published_date = timezone.now()
self.save()
def approve_comments(self):
return self.comments.filter(approved_comment=True)
def get_absolute_url(self):
return reverse('mainapp:post_detail',kwargs={'pk':self.pk})
def __str__(self):
return self.title
这是表格
class PostForm(forms.ModelForm):
class Meta():
model = Post
fields = ('title','text')
widgets = {
'title':forms.TextInput(attrs={'class':'textinputclass'}),
'text':forms.Textarea(attrs={'class':'textareaclass'}),
}
这是CreatePostView
class CreatePostView(LoginRequiredMixin,CreateView):
login_url = '/login/'
redirect_field_name = 'mainapp/post_details.html'
form_class = PostForm
model = Post
def form_valid(self, form):
form.instance.author = self.request.user
return super().form_valid(form)
我想要它,以便在包含被阻止的单词时引发错误 感谢您提供的任何帮助:)
答案 0 :(得分:0)
我不知道是否能正确理解您,但是也许您正在搜索https://github.com/ReconCubed/django-profanity-filter
编辑。 您可以在wordlist.txt文件的列表中添加自己的“错误”单词