django-bleach

Screenshot Software:
django-bleach
Mga detalye ng Software:
Bersyon: 0.1.4
I-upload ang petsa: 20 Feb 15
Nag-develop: Tim Heap
Lisensya: Libre
Katanyagan: 2

Rating: 4.0/5 (Total Votes: 1)

Django-pagpapaputi ay isang Django app sa pagpapaputi at sanitize HTML user.
pagpapaputi ay isang Python module na tumatagal ng anumang input ng HTML, at nagbalik wasto, sanitized HTML na naglalaman lamang ng pinapayagang subset ng mga tag ng HTML, mga katangian at mga istilo. Django-pagpapaputi ay isang Django app na ginagawang paggamit ng pagpapaputi lubos na madaling.
I-setup
1. I-install ang Django-pagpapaputi sa pamamagitan ng buto ng bungang-kahoy:
& Nbsp; buto ng bungang-kahoy-install Django-pagpapaputi
2. Magdagdag ng Django-pagpapaputi sa iyong INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
3. Pumili ng ilang mga makabuluhang mga default para sa pinapayagang mga tag, mga katangian at estilo; at ang pag-uugali kapag hindi alam na tag ay nakatagpo. Ang bawat isa sa mga ito ay opsyonal, at default sa paggamit ng mga default ng pagpapaputi. Tingnan ang dokumentasyon pagpapaputi:
& Nbsp; # Aling mga tag na HTML ay pinapayagan
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'malakas', 'isang']
& Nbsp; # Aling mga katangian HTML ay pinapayagan
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'pamagat', 'style']
& Nbsp; # Aling mga katangian ng CSS ay pinahintulutan sa 'style' mga katangian (sa pag-aakala
& Nbsp; # estilo ay isang pinapayagan katangian)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family', 'font-weight', 'text-decoration', 'font-variant']
& Nbsp; # Strip hindi alam kung tag True, palitan ng HTML escape character kung
& Nbsp; # Maling
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip komento, o mag-iwan ang mga ito sa.
& Nbsp; BLEACH_STRIP_COMMENTS = Maling
4. Piliin ang default na widget para sa mga patlang pagpapaputi. Ito ang mga default upang django.forms.Textarea, ngunit kakailanganin mong malamang na gusto mong palitan ito ng isang WYSIWYG na editor, o isang bagay na katulad:
& Nbsp; # Gamitin ang CKEditorWidget para sa bleached patlang na HTML
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Gumagamit ako ng Django-ckeditor sa aking mga proyekto, ngunit kung ano ang gamitin mo ay nasa sa iyo.
Paggamit
Sa iyong mga modelo
Django-pagpapaputi ay nagbibigay ng tatlong paraan ng paglikha bleached output. Ang pinakasimpleng paraan ng kabilang ang nilalaman ng HTML user-e-edit na iyon ay awtomatikong sanitized ay sa pamamagitan ng paggamit ng mga field BleachField modelo:
# Sa app / models.py
mula Django pag-import ng mga modelo
mula django_bleach.models-import BleachField
Mag-post ng klase (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = BleachField ()
& Nbsp; # ...
BleachField tumatagal ang mga sumusunod na mga argumento, upang i-customize ang output ng pagpapaputi. Tingnan ang dokumentasyon pagpapaputi para sa kanilang paggamit:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Bilang karagdagan sa mga argumento pagpapaputi-tiyak, na tinanggap ang patlang na BleachField modelo ang lahat ng mga normal na mga katangian na patlang. Sa likod ng mga pangyayari, ito ay isang textfield, at tumatanggap ang lahat ng parehong mga argumento bilang default na TextFields gawin.
Ang patlang ng BleachField modelo ay gumagamit ng field BleachField form na ito upang gawin ang lahat ng trabaho. Nagbibigay ito ng walang sanitisation facility mismo. Ito ay itinuturing na isang bug, ngunit isang malinis na solusyon ay hindi pa naipatupad. Anumang mga kahilingan sa mga pull-aayos ng mga ito ay mapasalamat inilapat. Hangga't ang patlang na BleachField modelo ay ginagamit lamang sa mga field ng form BleachField, walang magiging problema. Kung hindi ito ang kaso, walang katiyakan ang sanitized HTML.
Sa iyong mga form
Ang isang patlang ng BleachField form na ibinigay. Sanitises patlang na ito HTML input mula sa user, at nagtatanghal ng ligtas, malinis na HTML sa iyong Django application. Ito ay kung saan karamihan sa mga trabaho ay tapos na.
Sa iyong mga template
Kung mayroon kang isang peice ng nilalaman mula sa isang lugar na kailangan na ipi-print sa isang template, maaari mong gamitin ang filter pagpapaputi:
{% Ng pagkarga bleach_tags%}
{{Some_unsafe_content | pagpapaputi}}
Ang filter ay tumatagal ng walang mga argumento. . Gumagamit ito ang default na mga setting na tinukoy sa mga setting ng iyong application

Mga Kinakailangan :

  • Python
  • Django

Iba pang mga software developer ng Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Mga komento sa django-bleach

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!