django-bleach

Sagteware kiekie:
django-bleach
Sagteware besonderhede:
Weergawe: 0.1.4
Upload datum: 20 Feb 15
Ontwikkelaar: Tim Heap
Lisensie: Gratis
Populariteit: 2

Rating: 4.0/5 (Total Votes: 1)

Django-bleikmiddel is 'n Django app te bleik en ontsmet gebruiker HTML.
bleikmiddel is 'n Python module wat neem enige HTML insette, en keer terug geldig, ontsmet HTML wat slegs 'n toegelaat subset van HTML tags, eienskappe en style. Django-bleikmiddel is 'n Django app wat maak gebruik van bleikmiddel baie maklik.
Setup
1. Installeer Django-bleikmiddel via pit:
& Nbsp; pit installeer Django-bleikmiddel
2. Voeg Django-bleikmiddel aan jou INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
3. Kies 'n sinvolle verstek vir die toegelaat tags, eienskappe en style; en die gedrag wanneer onbekende tags ondervind. Elkeen van hierdie is opsioneel, en die standaard vir die gebruik van die bleikmiddel standaard. Sien die bleikmiddel dokumentasie:
& Nbsp; # Watter HTML tags word toegelaat
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'n sterk "," 'n ']
& Nbsp; # Watter HTML eienskappe word toegelaat
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'n titel ',' styl ']
& Nbsp; # Watter CSS eienskappe word toegelaat in 'styl' eienskappe (met die aanvaarding
& Nbsp; # styl is 'n toegelaat kenmerk)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family "," font-weight "," text-decoration "," font-variant']
& Nbsp; # Strip onbekende tags Indien waar, vervang met HTML ontsnap karakters as
& Nbsp; # Vals
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip kommentaar, of laat hulle in.
& Nbsp; BLEACH_STRIP_COMMENTS = Vals
4. Kies die verstek komponent vir bleikmiddel velde. Hierdie verstek na django.forms.Textarea, maar jy sal waarskynlik wil hê om dit te vervang met 'n WYSIWYG-redakteur, of iets soortgelyks:
& Nbsp; # Gebruik die CKEditorWidget vir verbleikte HTML velde
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Ek gebruik Django-ckeditor in my projekte, maar wat jy gebruik is aan jou.
Gebruik
In jou modelle
Django-bleikmiddel bied drie maniere om gebleik uitset. Die eenvoudigste manier insluitende die gebruiker-bewerkbaar HTML-inhoud outomaties ontsmet is deur die gebruik van die BleachField model veld:
# In app / models.py
van Django invoer modelle
van django_bleach.models invoer BleachField
klas Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = BleachField ()
& Nbsp; # ...
BleachField neem die volgende argumente, die uitset van bleikmiddel te pas. Sien die bleikmiddel dokumentasie vir die gebruik:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
In bykomend tot die bleikmiddel-spesifieke argumente, die BleachField model veld aanvaar al die normale veld eienskappe. Agter die skerms, dit is 'n tekstveld, en aanvaar al die dieselfde argumente as die standaard TextFields doen.
Die BleachField model veld gebruik maak van die BleachField vorm veld al die werk te doen. Dit bied geen sanitisering fasiliteite self. Dit word beskou as 'n fout nie, maar 'n skoon oplossing is nog nie geïmplementeer nie. Enige trek versoeke vaststelling dit sal dankbaar toegepas word. Solank as wat die BleachField model veld word slegs gebruik word met BleachField vorm velde, sal daar geen probleem te wees nie. As dit nie die geval is, kan ontsmet HTML nie gewaarborg word nie.
In jou vorms
A BleachField vorm veld word verskaf. Hierdie veld ontsmet HTML toevoer van die gebruiker, en bied veilige, skoon HTML aan jou Django aansoek. Dit is waar die meeste van die werk gedoen word.
In jou templates
As jy 'n peice inhoud van iewers wat in 'n sjabloon gedruk moet word, kan jy die bleikmiddel filter gebruik:
{% Vrag bleach_tags%}
{{Some_unsafe_content | bleikmiddel}}
Die filter neem geen argumente. . Dit maak gebruik van die standaard instellings gedefinieer in jou aansoek instellings

Vereistes :

  • Python
  • Django

Ander sagteware ontwikkelaar Tim Heap

django-pronouns
django-pronouns

14 Apr 15

wagtailnews
wagtailnews

1 Mar 15

Kommentaar te django-bleach

Kommentaar nie gevind
Kommentaar te lewer
Draai op die foto!