장고 - 표백제 표백 및 사용자 HTML을 살균하는 장고 응용 프로그램입니다.
표백제는 HTML 입력을 받아 파이썬 모듈이며, HTML 태그, 속성 및 스타일 만 허용 일부가 들어 유효한, 소독 HTML을 반환합니다. 장고 - 표백제는 매우 쉽게 표백제를 사용하게 장고 응용 프로그램입니다.
설정
1. PIP를 통해 장고 - 표백제를 설치합니다 :
& NBSP; PIP 것은 장고 - 표백제를 설치
2. 장고 - 표백제를 당신의 INSTALLED_APPS에 추가하십시오 :
& NBSP; INSTALLED_APPS = [
& NBSP; # ...
& NBSP; 'django_bleach'
& NBSP; # ...
& NBSP;]
허용 된 태그에 대한 몇 가지 의미있는 디폴트를 선택합니다, 속성 및 스타일; 과 행동을 알 수없는 태그가 발생하는 경우. 이들 각각은 선택 사항이며 표백제 기본값을 사용하여 기본. 표백제 문서를 참조하십시오 :
& NBSP; HTML 태그를 사용할 수 있습니다 #
& NBSP; BLEACH_ALLOWED_TAGS = [ 'P', 'B', '나', 'U' '그들', '강한', '']
& NBSP; HTML 속성이 허용됩니다 #
& NBSP; BLEACH_ALLOWED_ATTRIBUTES = [ 'HREF', '제목', '스타일']
& NBSP; CSS 속성 '스타일'에서 허용되는 속성입니다 #은 (가정
& NBSP는 # 스타일) 허용 된 속성입니다
& NBSP; BLEACH_ALLOWED_STYLES = [
& NBSP; '글꼴 - 가족', '글꼴 무게', '텍스트 장식', '글꼴 변형']
& NBSP; # 스트립 알 수없는 태그 True로 설정하면 HTML이 경우 이스케이프 문자로 교체
& NBSP; # 거짓
& NBSP; BLEACH_STRIP_TAGS = TRUE
& NBSP; # 스트립 의견 또는 중 (안).
& NBSP; BLEACH_STRIP_COMMENTS = 거짓
표백제 필드의 기본 위젯을 선택합니다. django.forms.Textarea이 디폴트는,하지만 당신은 아마 WYSIWYG 에디터, 또는 이와 유사한로 교체 할 것입니다 :
& NBSP; # 표백 HTML 필드에 CKEditorWidget를 사용하여
& NBSP; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
내 프로젝트에 장고 - ckeditor를 사용하지만, 당신이 사용하는 것은 당신에게 달려있다.
용법
당신의 모델
장고 - 표백제 표백 출력을 만드는 세 가지 방법을 제공합니다. 자동 살균되어 사용자가 편집 가능한 HTML 콘텐츠를 포함하는 간단한 방법은 BleachField 모델 필드를 사용하는 것이다 :
응용 프로그램 / models.py에서 #
장고 수입 모델에서
django_bleach.models에서 BleachField를 가져
클래스 포스트 (같이 models.Model) :
& NBSP; 제목 = models.CharField ()
& NBSP; 콘텐츠 = BleachField ()
& NBSP; # ...
BleachField 표백제의 출력을 사용자 정의하려면 다음 인수를 사용합니다. 자신의 사용을 위해 표백제 문서를 참조하십시오 :
- allowed_tags
- allowed_attributes
- allowed_styles
- strip_tags
- strip_comments
표백제 특정 인자에 더하여, BleachField 모델 필드는 일반 필드 속성을 모두 수용한다. 내부적으로는 텍스트 필드이며, TextField의 할 기본값으로 모두 같은 인수를 받아들입니다.
BleachField 모델 필드는 모든 작업을 수행 할 BleachField 양식 필드를 사용한다. 그것은 더 sanitisation 시설 자체를 제공하지 않습니다. 이 버그로 간주됩니다,하지만 깨끗한 솔루션은 아직 구현되지 않았습니다. 이 고정 끌어 오기 요청을 기꺼이 적용됩니다. BleachField 모델 필드 만 BleachField 양식 필드와 함께 사용한다면, 상기와 같은 문제가 없습니다. 이 경우가 아니라면, 살균 된 HTML은 보증 할 수 없다.
양식에서
BleachField 양식 필드가 제공됩니다. 이 필드는 사용자로부터 HTML 입력을 sanitises하고 장고 응용 프로그램에 안전하고 깨끗한 HTML을 선물한다. 대부분의 작업이 완료 곳이다.
템플릿에서
템플릿 인쇄 할 필요가 어딘가에서 콘텐츠의 peice이있는 경우에, 당신은 표백제 필터를 사용할 수 있습니다 :
{% 부하 %}을 bleach_tags
{{some_unsafe_content | 표백제}}
이 필터는 인수를 사용하지 않습니다. 그것은 당신의 응용 프로그램 설정에 정의 된 기본 설정을 사용하여
요구 사항 :있다.
파이썬
장고
댓글을 찾을 수 없습니다