django-bleach

Software screenshot:
django-bleach
Podrobnosti Software:
Verze: 0.1.4
Datum uploadu: 20 Feb 15
Vývojka: Tim Heap
Licence: Volný
Popularita: 2

Rating: 4.0/5 (Total Votes: 1)

Django bělící je aplikace Django k bělení a dezinfikovat uživatele HTML.
bělidlo je Python modul, který má jakýkoliv vstup HTML, a vrátí platné, apretoval HTML, který obsahuje pouze povolenou podmnožinu HTML tagy, atributy a stylů. Django-bělidlo je aplikace, Django, který umožňuje použití bělidla velmi snadné.
Nastavení
1. Nainstalujte Django-bělidlo přes PIP:
& Nbsp; pip nainstalovat Django-bělidlo
2. Přidejte Django-bělidlo na vaše INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; "django_bleach"
& Nbsp; # ...
& Nbsp;]
3. Vyberte nějaké rozumné výchozí hodnoty povolených tagů, atributů a styly; a chování při neznámé značky se vyskytují. Každá z nich jsou volitelné, a výchozí pomocí bělících výchozí hodnoty. Naleznete v dokumentaci bělící:
& Nbsp; # Jaké HTML tagy jsou povoleny
& Nbsp; BLEACH_ALLOWED_TAGS = ['p "," b "," i "," U "," em "," silný "," "]
& Nbsp; # Které atributy HTML je povoleno
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href "," title "," styl "]
& Nbsp; # Jaké vlastnosti CSS jsou povoleny v "stylu" atributy (za předpokladu, že
& Nbsp; # styl je povolen atribut)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; "font-family", "font-weight", "text-decoration", "font-variant ']
& Nbsp; # Strip neznámé značky, pokud je pravda, nahradit HTML utekl znaků, pokud
& Nbsp; # False
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip komentáře, nebo nechat v.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Vyberte k Bleach pole výchozí widgetu. Tato výchozí django.forms.Textarea, ale budete pravděpodobně chtít, aby jej nahradit WYSIWYG editor, nebo něco podobného:
& Nbsp; # Použijte CKEditorWidget pro odbarvené pole HTML
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Používám Django-CKEditor v mých projektech, ale to, co použít, je na vás.
Použít
Ve vašich modelů
Django bělící nabízí tři způsoby vytváření bělené výstup. Nejjednodušším způsobem, včetně uživatelsky editovatelný obsah HTML, který je automaticky dezinfikují je pomocí modelu pole BleachField:
# V app / models.py
od Django dovozních modelů
od django_bleach.models import BleachField
třída Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; obsah = BleachField ()
& Nbsp; # ...
BleachField bere tyto argumenty, přizpůsobit výstup bělidla. Naleznete v dokumentaci bělící pro jejich použití:
- allowed_tags
- allowed_attributes
- allowed_styles
- strip_tags
- strip_comments
Kromě argumentů bělicí specifické, model pole BleachField přijímá všechny normální atributů pole. V zákulisí, je to TextField, a přijímá všechny stejné argumenty jako výchozí TextFields dělat.
Model Pole BleachField využívá pole BleachField formuláře dělat všechny práce. Poskytuje žádný sanitace zařízení sám. To je považováno za chybu, ale čisté řešení ještě nebyla provedena. Veškeré žádosti zatáhněte za upevňovací to bude vděčně použita. Tak dlouho, jak je model pole BleachField se používá pouze s BleachField pole formuláře, nebude žádný problém. Pokud tomu tak není, dezinfikované HTML nelze zaručit.
Ve vašich formulářů
BleachField pole formuláře jsou k dispozici. Toto pole sanitaci HTML vstup od uživatele, a představuje bezpečné, čisté HTML na váš Django aplikace. To je místo, kde většina práce je hotovo.
V šablonách
Máte-li peice obsahu odněkud, které musí být vytištěny v šabloně, můžete použít bělící filtr:
{% Zatížení bleach_tags%}
{{Some_unsafe_content | bělidlo}}
Filtr trvá žádné argumenty. , Používá výchozí nastavení definované v nastavení aplikace

Požadavky na :

  • Python
  • Django

Ostatní software developer Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Komentáře k django-bleach

Komentáře nebyl nalezen
Přidat komentář
Zapnout obrázky!