django-bleach

Skjermbilde programvare:
django-bleach
Prog.varedetaljer:
Versjon: 0.1.4
Last opp dato: 20 Feb 15
Utvikler: Tim Heap
Lisens: Gratis
Popularitet: 44

Rating: 4.0/5 (Total Votes: 1)

django-blekemiddel er en Django app å bleke og sterilisere bruker HTML.
blekemiddel er et Python-modul som tar noen HTML-inngang, og returnerer gyldig, renses HTML som inneholder kun en tillatt undergruppe av HTML-koder, attributter og stiler. Django-blekemiddel er en Django app som gjør bruk blekemiddel ekstremt lett.
Oppsett
1. Installer django-blekemiddel via pip:
& Nbsp; pip installere django-blekemiddel
2. Legg django-blekemiddel til dine INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
3. Velg noen fornuftige standardverdier for de tillatte koder, attributter og stiler; og oppførselen når ukjente koder er oppstått. Hver av disse er valgfrie, og standard bruke standardblekemiddel. Se dokumentasjonen blekemiddel:
& Nbsp; # Hvilke HTML-koder er tillatt
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'sterk', 'a']
& Nbsp; # Hvilke HTML-attributter er tillatt
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'tittel', 'stil']
& Nbsp; # Hvilke CSS egenskaper er tillatt i "stil" attributter (forutsatt
& Nbsp; er # stil en lov attributt)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family "," font-weight "," text-decoration', 'font-variant']
& Nbsp; # Strip ukjente koder hvis Riktignok erstatte med HTML rømt tegn hvis
& Nbsp; # False
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Strip kommentarer, eller la dem i.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Velg standard widget for bleike felt. Dette er standard django.forms.Textarea, men du vil sannsynligvis ønske å erstatte den med en WYSIWYG-editor, eller noe lignende:
& Nbsp; # Bruk CKEditorWidget for bleket HTML felt
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Jeg bruker Django-ckeditor i mine prosjekter, men hva du bruker er opp til deg.
Bruk
I modellene
Django-blekemiddel gir tre måter å lage bleket utgang. Den enkleste måte å inkludere bruker redigerbare HTML-innhold blir automatisk pyntet er ved hjelp av Bleachfield modellfeltet:
# I app / models.py
fra django importmodeller
fra django_bleach.models importere Bleachfield
klasse Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = Bleachfield ()
& Nbsp; # ...
Bleachfield tar følgende argumenter, for å tilpasse resultatet av blekemiddel. Se bleke dokumentasjon for deres bruk:
- allowed_tags
- allowed_attributes
- allowed_styles
- strip_tags
- strip_comments
I tillegg til de blekemidler spesifikke argumenter, den Bleachfield modellen feltet tar alle de normale felt attributter. Bak kulissene, er det en Textfield, og godtar alle de samme argumentene som standard textfields gjøre.
Den Bleachfield modellfeltet gjør bruk av feltet Bleachfield skjemaet til å gjøre alt arbeidet. Det gir ingen sanitisation anlegg selv. Dette regnes som en bug, men en ren løsning er ennå ikke iverksatt. Eventuelle pull forespørsler fikse dette vil være takknemlig brukt. Så lenge Bleachfield modellfeltet brukes bare med Bleachfield skjemafelt, vil det ikke være noe problem. Hvis dette ikke er tilfelle, kan renses HTML ikke garanteres.
I skjemaene
Et felt Bleachfield skjema er gitt. Dette feltet sanitises HTML input fra brukeren, og presenterer trygg, ren HTML til Django søknad. Det er der det meste av arbeidet er gjort.
I dine maler
Hvis du har en bit av innhold fra et sted som må skrives i en mal, kan du bruke blekemiddel filter:
{% Belastning bleach_tags%}
{{Some_unsafe_content | blekemiddel}}
Filteret tar ingen argumenter. . Den bruker standardinnstillingene som er definert i programinnstillingene

Krav :

  • Python
  • Django

Annen programvare fra utvikleren Tim Heap

django-pronouns
django-pronouns

14 Apr 15

wagtailnews
wagtailnews

1 Mar 15

Kommentarer til django-bleach

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!