django-bleach

Phần mềm chụp màn hình:
django-bleach
Các chi tiết về phần mềm:
Phiên bản: 0.1.4
Ngày tải lên: 20 Feb 15
Nhà phát triển: Tim Heap
Giấy phép: Miễn phí
Phổ biến: 2

Rating: 4.0/5 (Total Votes: 1)

django-thuốc tẩy là một ứng dụng Django để tẩy trắng và khử trùng sử dụng HTML.
thuốc tẩy là một mô-đun Python mà có bất kỳ đầu vào HTML, và trả về giá trị, HTML khử trùng chỉ chứa một tập hợp con của các thẻ HTML cho phép, các thuộc tính và phong cách. django-thuốc tẩy là một ứng dụng Django mà làm cho sử dụng thuốc tẩy cực kỳ dễ dàng.
Setup
1. Cài đặt django-tẩy qua pip:
& Nbsp; pip cài đặt django-thuốc tẩy
2. Thêm django-thuốc tẩy để INSTALLED_APPS của bạn:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
3. Chọn một số mặc định hợp lý cho các thẻ cho phép, các thuộc tính và phong cách; và hành vi khi thẻ không rõ đang gặp phải. Mỗi trong số này là tùy chọn, và mặc định để sử dụng mặc định tẩy. Xem tài liệu chất tẩy:
& Nbsp; # Những thẻ HTML được phép
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'mạnh mẽ', 'a']
& Nbsp; # Những thuộc tính HTML được phép
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'phong cách']
& Nbsp; # Những thuộc tính CSS được cho phép trong "phong cách" thuộc tính (giả
& Nbsp; # phong cách là một thuộc tính cho phép)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; "font-family ',' font-trọng lượng ',' text-decoration ',' font-biến thể ']
& Nbsp; # Strip chưa biết nếu thẻ thật, thay bằng HTML thoát nhân vật nếu
& Nbsp; # False
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; comments # Strip, hoặc để chúng trong.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Chọn widget mặc định cho các lĩnh vực thuốc tẩy. Điều này mặc định là django.forms.Textarea, nhưng có lẽ bạn sẽ muốn thay thế nó bằng một trình soạn thảo WYSIWYG, hoặc cái gì đó tương tự như:
& Nbsp; # Sử dụng cho các lĩnh vực CKEditorWidget HTML tẩy trắng
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Tôi sử dụng django-CKEditor trong dự án của tôi, nhưng những gì bạn sử dụng là tùy thuộc vào bạn.
Cách sử dụng
Trong mô hình của bạn
django-tẩy cung cấp ba cách để tạo ra sản lượng tẩy trắng. Cách đơn giản nhất bao gồm cả nội dung HTML sử dụng có thể chỉnh sửa được tự động làm vệ sinh là bằng cách sử dụng các lĩnh vực mô hình BleachField:
# Trong app / models.py
từ các mô hình nhập khẩu django
từ django_bleach.models nhập BleachField
lớp Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; nội dung = BleachField ()
& Nbsp; # ...
BleachField có các đối số sau đây, để tùy chỉnh đầu ra của thuốc tẩy. Xem tài liệu thuốc tẩy cho việc sử dụng chúng:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Ngoài các đối số thuốc tẩy cụ thể, lĩnh vực mô hình BleachField chấp nhận tất cả các thuộc tính trường bình thường. Đằng sau hậu trường, nó là một TextField, và chấp nhận tất cả các đối số như mặc định textfields làm.
Các lĩnh vực mô hình BleachField làm cho việc sử dụng các hình thức lĩnh vực BleachField để làm tất cả các công việc. Nó không cung cấp các cơ sở sanitisation chính nó. Đây được coi là một lỗi, nhưng một giải pháp làm sạch vẫn chưa được thực hiện. Bất kỳ yêu cầu kéo sửa này sẽ được áp dụng với lòng biết ơn. Miễn là các lĩnh vực mô hình BleachField chỉ được sử dụng với các trường mẫu BleachField, sẽ không có vấn đề. Nếu đây không phải là trường hợp, HTML vệ sinh không được đảm bảo.
Trong hình thức của bạn
Một trường mẫu BleachField được cung cấp. Lĩnh vực này sanitises đầu vào HTML từ người sử dụng, an toàn và trình bày, HTML sạch để ứng dụng Django của bạn. Đây là nơi mà hầu hết các công việc được thực hiện.
Trong các mẫu của bạn
Nếu bạn có một mảnh của nội dung từ một nơi nào đó mà cần phải được in trong một mẫu, bạn có thể sử dụng các bộ lọc tẩy:
{% Tải bleach_tags%}
{{Some_unsafe_content | tẩy}}
Các bộ lọc có không có đối số. . Nó sử dụng các thiết lập mặc định trong cài đặt ứng dụng của bạn

Yêu cầu :

  • Python
  • Django

Phần mềm khác của nhà phát triển Tim Heap

django-pronouns
django-pronouns

14 Apr 15

wagtailnews
wagtailnews

1 Mar 15

Ý kiến ​​để django-bleach

Bình luận không
Nhập bình luận
Bật hình ảnh!