django-bleach

Software screenshot:
django-bleach
Software informatie:
Versie: 0.1.4
Upload datum: 20 Feb 15
Ontwikkelaar: Tim Heap
Licentie: Gratis
Populariteit: 2

Rating: 4.0/5 (Total Votes: 1)

django-bleekmiddel is een Django app te bleken en ontsmetten gebruiker HTML.
bleekwater is een Python module die elke HTML-ingang neemt, en keert geldig, opgeschoond HTML dat alleen een toegestane subset van HTML-tags, attributen en stijlen bevat. django-bleekmiddel is een Django app die maakt gebruik van bleekwater zeer eenvoudig.
Instellingen
1. Installeer django-bleekmiddel via pip:
& Nbsp; pip installeren django-bleach
2. Voeg django-bleekwater aan uw INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
3. Selecteer een aantal verstandige standaardinstellingen voor de toegestane tags, attributen en stijlen; en het gedrag bij het onbekende tags worden aangetroffen. Elk van deze zijn optioneel en standaard de bleekwater defaults. Zie het bleekmiddel documentatie:
& Nbsp; # Welke HTML-tags zijn toegestaan
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'sterk', 'a']
& Nbsp; # Welke HTML attributen zijn toegestaan
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'stijl']
& Nbsp; # Welke CSS-eigenschappen zijn toegestaan ​​in 'stijl' attributen (in de veronderstelling
& Nbsp; # stijl is een toegestane attribuut)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family', 'font-weight', 'text-decoration', 'font-variant']
& Nbsp; # Strip onbekende labels als True, te vervangen door HTML ontsnapte personages als
& Nbsp; # Valse
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip opmerkingen, of ze te laten in.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Selecteer de standaard widget voor bleekwater velden. Deze staat standaard op django.forms.Textarea, maar u zult waarschijnlijk willen om het te vervangen met een WYSIWYG-editor, of iets dergelijks:
& Nbsp; # Gebruik de CKEditorWidget voor gebleekte HTML velden
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Ik gebruik django-ckeditor in mijn projecten, maar wat je gebruikt is aan u.
Gebruik
In uw modellen
django-bleekmiddel biedt drie manieren om gebleekt output. De eenvoudigste manier van het opnemen van de gebruiker bewerkbare HTML-inhoud die automatisch wordt opgeschoond is met behulp van de Bleekweide model veld:
# In app / models.py
van Django import modellen
van django_bleach.models importeren Bleekweide
klasse Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = Bleekweide ()
& Nbsp; # ...
Bleekweide neemt de volgende argumenten met de uitgang van bleekmiddel passen. Zie het bleekmiddel documentatie voor het gebruik ervan:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Naast het bleekmiddel specifieke argumenten, het Bleekweide modelveld accepteert alle normale gebiedsattributen. Achter de schermen is het een tekstveld, en allemaal dezelfde argumenten als de standaard TextFields doen accepteert.
De Bleekweide model veld maakt gebruik van het veld Bleekweide formulier om al het werk te doen. Het geeft geen reiniging faciliteiten zelf. Dit wordt beschouwd als een fout, maar een schone oplossing is nog niet uitgevoerd. Elke pull verzoeken de vaststelling van dit zal dankbaar worden toegepast. Zolang de Bleekweide modelveld alleen gebruikt Bleekweide formuliervelden, zal er geen probleem zijn. Als dit niet het geval is, kan opgeschoond HTML niet worden gegarandeerd.
In uw formulieren
Een Bleekweide formulier veld wordt verstrekt. Dit veld sanitises HTML input van de gebruiker, en presenteert veilige, schone HTML om uw Django applicatie. Dit is waar het grootste deel van het werk wordt gedaan.
In uw sjablonen
Als je een stukje van de inhoud van ergens dat moet in een sjabloon te worden afgedrukt, kunt u het bleekmiddel filter te gebruiken:
{% Belasting bleach_tags%}
{{Some_unsafe_content | bleekwater}}
Het filter heeft geen argumenten. . Het maakt gebruik van de standaard instellingen gedefinieerd in uw applicatie-instellingen

Eisen

  • Python
  • Django

Andere software van ontwikkelaar Tim Heap

django-pronouns
django-pronouns

14 Apr 15

wagtailnews
wagtailnews

1 Mar 15

Reacties op django-bleach

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!