django-bleach

Screenshot der Software:
django-bleach
Softwarebeschreibung:
Version: 0.1.4
Upload-Datum: 20 Feb 15
Entwickler: Tim Heap
Lizenz: Frei
Popularität: 2

Rating: 4.0/5 (Total Votes: 1)

django-Bleichmittel ist ein Django-Applikation zu bleichen und zu desinfizieren Benutzer HTML.
Bleichmittel ist ein Python-Modul, das eine beliebige HTML-Eingabe nimmt und gibt gültige, bereinigt HTML, die nur eine zulässige Untergruppe von HTML-Tags, Attribute und Stile enthält. django-Bleichmittel ist ein Django-Applikation, die mit Bleichmittel sehr einfach macht.
Einstellungen
1. Installieren Sie django-Bleich über pip:
& Nbsp; pip installieren django-Bleich
2. Fügen Sie django-Bleichmittel, um Ihre INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; "django_bleach ',
& Nbsp; # ...
& Nbsp;]
3. einige sinnvolle Standardeinstellungen für die erlaubten Tags wählen, Attribute und Stile; und das Verhalten, wenn unbekannte Tags angetroffen. Jeder von ihnen sind optional und standardmäßig zur Verwendung der Bleichstandardwerte. Siehe die Bleich Dokumentation:
& Nbsp; # Welche HTML-Tags erlaubt
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'starke', 'a']
& Nbsp; # Welche HTML-Attribute erlaubt sind
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'Titel', 'Stil']
& Nbsp; # Welche CSS-Eigenschaften werden in "Stil" erlaubt Attribute (vorausgesetzt,
& Nbsp; # Stil ist ein Attribut erlaubt)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family', 'font-weight', 'text-decoration "," font-variant']
& Nbsp; # Streifen unbekannt Tags Wenn das stimmt, ersetzen Sie sie durch HTML entkommen, wenn Zeichen
& Nbsp; # Falsch
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; # Streifen Kommentare, oder lassen Sie sie in.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Wählen Sie die Standard-Widget für die Bleichfelder. Der Standardwert ist django.forms.Textarea, aber Sie werden wahrscheinlich wollen es mit einem WYSIWYG-Editor, oder etwas ähnliches zu ersetzen:
& Nbsp; # Verwenden Sie die CKEditorWidget für gebleichten HTML Felder
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Ich verwende Django-ckeditor in meinen Projekten, aber was Sie verwenden, ist bis zu Ihnen.
Verwendung
In Ihren Modellen
django-Bleich bietet drei Möglichkeiten der Schaffung gebleichtem Ausgang. Der einfachste Weg, einschließlich benutzer editierbare HTML-Inhalte, die automatisch bereinigt wird, ist mit der Modellfeld Bleachfield:
# In app / models.py
von django Importmodelle
von django_bleach.models importieren Bleachfield
Klasse Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = Bleachfield ()
& Nbsp; # ...
Bleachfield die folgenden Argumente, um die Ausgabe der Bleich anpassen. Siehe die Bleich Dokumentation für ihre Verwendung:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Zusätzlich zu den Bleichspezifischen Argumenten das Modellfeld Bleachfield nimmt alle normalen Feldattributen. Hinter den Kulissen ist es ein Textfield, und übernimmt die gleichen Argumente wie die Standard-Textfeldern zu tun.
Das Modellfeld Bleachfield nutzt die Bleachfield Formularfeld, um die ganze Arbeit zu tun. Es stellt keine Desinfektion Einrichtungen selbst. Dies wird als Fehler, sondern eine saubere Lösung ist noch nicht umgesetzt worden. Alle Pull-Anforderungen Befestigungs dies dankbar angewendet werden. Solange das Modellfeld Bleachfield nur mit Bleachfield Formularfeldern verwendet wird, wird es kein Problem sein. Ist dies nicht der Fall, können desinfiziert HTML nicht garantiert werden.
In Formularen
Ein Bleachfield Formularfeld vorgesehen ist. Dieses Feld Entkeimung HTML Eingaben des Benutzers und stellt sicher, sauber HTML, um Ihre Django-Anwendung. Dies ist, wo der größte Teil der Arbeit getan ist.
In Vorlagen
Wenn Sie ein Stückchen Inhalt von irgendwoher, die in einer Vorlage gedruckt werden muss, können Sie das Bleichmittel-Filter verwenden:
{% Last bleach_tags%}
{{Some_unsafe_content | Bleich}}
Der Filter hat keine Argumente. . Es verwendet die in der Anwendung festgelegten Einstellungen Standardeinstellungen

Anforderungen :

  • Python
  • Django

Andere Software von Entwickler Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Kommentare zu django-bleach

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!