我有一个 json 文件,其中包含要检查脏话过滤器的术语。
["bad", "word", "plug"]
我正在使用它(从另一篇文章中找到)来解析 json 并在任何数据对象中搜索设置的单词。
def word_filter(self, *field_names):
import json
from pprint import pprint
with open('/var/www/groupclique/website/swearWords.json') as data_file:
data = json.load(data_file)
for field_name in field_names:
for term in data:
if term in field_name:
self.add_validation_error(
field_name,
"%s has profanity" % field_name)
class JobListing(BaseProtectedModel):
id = db.Column(db.Integer, primary_key=True)
category = db.Column(db.String(255))
job_title = db.Column(db.String(255))
@before_flush
def clean(self):
self.word_filter('job_title')
问题是如果我使用字符串“plumber”,由于 json 文件中的“plug”一词,它会导致检查失败。因为“plu”在这两个方面都有。有没有办法强制使用 json 文件中的整个单词而不是部分单词?运行一次的输出没有错误:
({ "validation_errors": { "job_title": " job_title has profanity" } })
HTTP PAYLOAD:
{
"job_title":"plumber",
}