django-bleach

Software skärmdump:
django-bleach
Mjukvaruinformation:
Version: 0.1.4
Ladda upp dagen: 20 Feb 15
Utvecklare: Tim Heap
Licens: Gratis
Popularitet: 2

Rating: 4.0/5 (Total Votes: 1)

django-blekmedel är en Django app för att bleka och sanera användar HTML.
blekmedel är en Python-modul som tar någon HTML-ingång, och returnerar giltigt, sanerad HTML som innehåller endast en tillåten delmängd av HTML-taggar, attribut och stilar. django-blekmedel är en Django app som gör att använda blekmedel extremt lätt.
Inställningar
1. Installera django-blekmedel via pip:
& Nbsp; pip installera django-blekmedel
2. Lägg django-blekmedel till dina INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach ",
& Nbsp; # ...
& Nbsp;]
3. Välj några vettiga standardvärden för de tillåtna taggar, attribut och stilar; och beteendet när okända taggar påträffas. Var och en av dessa är valfria och standard till att använda blekmedel inställningarna. Se blekmedel dokumentationen:
& Nbsp; # Vilka HTML-taggar är tillåtna
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', "b", "i", "u", 'em "," stark "," a "]
& Nbsp; # Vilken HTML-attribut är tillåtna
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'stil']
& Nbsp; # Vilken CSS-egenskaper är tillåtna i "stil" attribut (förutsatt
& Nbsp; # stil är en tillåten attribut)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; "font-family", "font-weight", "text-decoration", "font-variant"]
& Nbsp; # Strip okända taggar om Sant, ersätt med HTML rymt tecken om
& Nbsp; # Falska
& Nbsp; BLEACH_STRIP_TAGS = Sant
& Nbsp; # Strip kommentarer, eller lämna dem i.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Välj standard widget för bleka fält. Denna standard django.forms.Textarea, men du kommer förmodligen vill ersätta den med en WYSIWYG editor, eller något liknande:
& Nbsp; # Använd CKEditorWidget för blekta HTML fält
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Jag använder django-ckeditor i mina projekt, men vad du använder är upp till dig.
Användning
I dina modeller
django-blekmedel ger tre sätt att skapa blekt utgång. Det enklaste sättet att inkludera användar redigerbara HTML-innehåll som automatiskt sanerad är att använda modellen fältet BleachField:
# I app / models.py
från django importmodeller
från django_bleach.models importera BleachField
klassen Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = BleachField ()
& Nbsp; # ...
BleachField tar följande argument, att anpassa produktionen av blekmedel. Se blekmedel dokumentationen för deras användning:
- allowed_tags
- allowed_attributes
- allowed_styles
- strip_tags
- strip_comments
Förutom de blekmedelsspecifika argument, modellfältet BleachField accepterar alla de normala fältattribut. Bakom kulisserna är det ett Textfield och accepterar alla samma argument som standard textfält gör.
Modellen fältet BleachField utnyttjar BleachField formulärfält för att göra allt arbete. Det ger inga hygieniseringsmetoder faciliteter själv. Detta anses vara en bugg, utan en ren lösning har ännu inte genomförts. Eventuella pull begär fastställande kommer att tacksamt tillämpas. Så länge som modellfältet BleachField används endast med BleachField formulärfält, kommer det inte vara något problem. Om så inte är fallet, kan sanerad HTML inte garanteras.
I dina formulär
En BleachField formulärfält tillhandahålls. Detta fält sanitises HTML input från användaren, och presenterar säker, ren HTML till din Django ansökan. Det är där det mesta av arbetet utförs.
I dina mallar
Om du har en peice av innehåll från någonstans som måste tryckas i en mall, kan du använda blekmedel filtret:
{% Belastning bleach_tags%}
{{Some_unsafe_content | blekmedel}}
Filtret tar inga argument. . Den använder standardinställningarna som definieras i dina programinställningar

Krav :

  • Python
  • Django

Annan programvara för utvecklare Tim Heap

django-pronouns
django-pronouns

14 Apr 15

wagtailnews
wagtailnews

1 Mar 15

Kommentarer till django-bleach

Kommentarer hittades inte
Kommentar
Slå på bilder!