django-bleach

Szoftver screenshot:
django-bleach
Szoftver adatai:
Változat: 0.1.4
Feltöltés dátuma: 20 Feb 15
Fejlesztő: Tim Heap
Engedély: Ingyenes
Népszerűség: 2

Rating: 4.0/5 (Total Votes: 1)

Django fehérítő egy Django app fehérítő és fertőtlenítse felhasználói HTML.
fehérítő egy Python modul, amely elveszi az HTML input, és visszatér érvényes, megtisztítva HTML, amely csak az engedélyezett részhalmaza HTML, attribútumok és stílusok. Django fehérítő egy Django app, ami segítségével fehérítő rendkívül egyszerű.
Beállítások
1. Telepítse Django fehérítő keresztül pip:
& Nbsp; pip telepíteni Django fehérítő
2. Add Django fehérítő a INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; "django_bleach",
& Nbsp; # ...
& Nbsp;]
3. Válassza ki valamilyen értelmes alapértékeit megengedett címkék, attribútumok és stílusok; és viselkedését, amikor ismeretlen címkék kerülnek elő. Mindegyik opcionális, és alapbeállítás szerint a fehérítő defaults. Lásd a fehérítő dokumentáció:
& Nbsp; # Melyik HTML cimkék használata megengedett
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em "," erős ",' a ']
& Nbsp; # Melyik HTML jellemzők engedélyezettek
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'stílus']
& Nbsp; # Melyik CSS tulajdonságok használata engedélyezett "stílusa" attribútumok (feltételezve,
& Nbsp; # stílusa pedig megengedett attribútum)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; "font-family", "font-weight", "text-dekoráció", "font-változat"]
& Nbsp; # Strip ismeretlen címkék ha igaz, cserélje HTML megszökött karakter, ha
& Nbsp; # Hamis
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip hozzászólás, vagy hagyja őket.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Válassza ki az alapértelmezett widget fehérítő területeken. Az alapérték django.forms.Textarea, de akkor érdemes helyette egy WYSIWYG szerkesztő, vagy valami hasonló:
& Nbsp; # A CKEditorWidget fehérített HTML mezők
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget "
Használom Django-CKEditor az én projektek, de mit használ rajtad múlik.
Használat
Az Ön modellek
Django fehérítő rendelkezik három módon lehet kialakítani fehérített kimenet. A legegyszerűbb módja beleértve a felhasználó által szerkeszthető HTML tartalom automatikusan megtisztítva a segítségével a BleachField modell mezőt:
# App / models.py
a Django import modellek
a django_bleach.models importálni BleachField
osztály Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = BleachField ()
& Nbsp; # ...
BleachField veszi a következő érveket, arra, hogy a kimeneti fehérítő. Lásd a fehérítő dokumentációját használatuk:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Amellett, hogy a fehérítő-specifikus érveket, a BleachField modell mezőt elfogadja a rendes üzemi tulajdonságait. A színfalak mögött, ez egy TextField, és elfogadja ugyanazokat az érveket az alapértelmezett szövegmező csinálni.
A BleachField modell mezőt él a BleachField űrlapmezőben hogy tegyenek meg mindent a munka. A program nem ad fertőtlenítő létesítmény magát. Ez tekinthető a hiba, hanem a tiszta megoldás még nem hajtották végre. Bármilyen pull kérések rögzítés ez lesz hálásan alkalmazni. Amíg a BleachField modell mezőt csak akkor kell használni a BleachField mezők, nem lesz semmi gond. Ha ez nem így van, megtisztítva a HTML nem lehet garantálni.
Az Ön formák
A BleachField űrlap mező áll rendelkezésre. Ez a mező sanitises HTML felhasználói bevitelt, és bemutatja biztonságos, tiszta HTML a Django alkalmazást. Ez az, ahol a legtöbb munkát.
A sablonok
Ha van egy peice tartalmak valahol, hogy kell kinyomtatni egy sablont, akkor a fehérítő szűrő:
{% -os Terhelés bleach_tags%}
{{Some_unsafe_content | fehérítő}}
A szűrő argumentum nélküli. Ez az alapértelmezett beállításokat használja meghatározott alkalmazás beállításai.

követelmények :

  • Python
  • Django

Más szoftver fejlesztő Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Hozzászólások a django-bleach

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!