2012-09-15 2 views

답변

7

장고 모독을 필터링 처리 않습니다. https://docs.djangoproject.com/en/1.4/ref/settings/#profanities-list에서

:

PROFANITIES_LIST

기본값 :() (빈 튜플)

COMMENTS_ALLOW_PROFANITIESFalse 때 의견 금지됩니다 문자열로 모독의 튜플,. 당신은 여전히 ​​그 목록을 채우는해야했다

. Somelinkstogetstarted.

나는 또한 Scunthorpe problem에 익숙해 것입니다.

+1

참고 :이 PROFANITIES_LIST가되지해야한다 그 1.3 이후 언급 됐어요. 저는 Adrian Holovaty와 Daniel Greenberg가 최근의 회담에서 언급 한 바에 따르면 이것이 1.5로 계획되어 있다고 생각합니다. 지금은 아직 마스터 브랜치에 있지만, 사라질 것으로 예상됩니다. –

+0

+1 나는 개인적으로 욕설 목록을 갖는 것이 시간 낭비라고 생각하지만 장고는 기본적인 처리가 있으므로 질문을 수정하고있었습니다. https://docs.djangoproject.com/en/1.4/releases/1.3/#no-more-naughty-words – zackdever

+0

+1 스컨 소프의 문제에 대한 - 여기에 비어있는 목록에 내장 된 변경에 대한 릴리스 노트에 대한 링크입니다 . @Tom은 목록 내용이 더 이상 사용되지 않을 것이라고 믿습니다. 이제는 빈 터플로 기본 설정되어 있지만 네 개의 임의 모욕으로 채워져있었습니다. –

2

개인적으로 말하면 ... 귀찮게하지 마십시오. 더 나은 필터를 만들 경우, 그들은 단순히 여기에 간단한 예입니다 ... 다른

그것을 입력하지만 것

import re 
bad_words = ['spam', 'eggs'] 
# The \b gives a word boundary so you don't have the Scunthorpe problem: http://en.wikipedia.org/wiki/Scunthorpe_problem 
pattern = re.compile(
    r'\b(%s)\b' % '|'.join(bad_words), 
    re.IGNORECASE, 
) 

some_text = 'This text contains some profane words like spam and eggs. But it wont match spammy stuff.' 
print some_text 
# This text contains some profane words like spam and eggs. But it wont match spammy stuff. 

clean_text = pattern.sub('XXX', some_text) 
print clean_text 
# This text contains some profane words like XXX and XXX. But it wont match spammy stuff. 
+2

Yahoo는 과학 학사 학위에 대한 "학사"모독 및 검열 게시물을 고려하여 스스로를 어리석은 것으로 보입니다. 컨텍스트를 이해하기에 충분한 NLP를 수행하지 않는 한 모방 명단이 모호하지 않은지 확인하십시오. – Dave

관련 문제