django-bleach

Logiciel capture d'écran:
django-bleach
Détails logiciels:
Version: 0.1.4
Date de transfert: 20 Feb 15
Développeur: Tim Heap
Licence: Gratuit
Popularité: 2

Rating: 4.0/5 (Total Votes: 1)

django-eau de Javel est une application Django pour blanchir et désinfecter utilisateur HTML.
l'eau de Javel est un module Python qui prend ne importe quelle entrée de HTML, et renvoie du HTML valide et aseptisé qui contient uniquement un sous-ensemble a permis de balises HTML, les attributs et les styles. django-eau de Javel est une application Django qui rend l'eau de Javel extrêmement facile.
Configuration
1. Installez django-eau de Javel par pip:
& Nbsp; pip installer django-eau de Javel
2. Ajouter django-eau de Javel pour vos INSTALLED_APPS:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; »django_bleach ',
& Nbsp; # ...
& Nbsp;]
3. Sélectionnez des valeurs par défaut raisonnables pour les balises autorisées, les attributs et les styles; et le comportement lorsque les balises inconnues sont rencontrés. Chacun de ces sont facultatifs, et utilisent par défaut les valeurs par défaut de blanchiment. Consultez la documentation de l'eau de Javel:
& Nbsp; # Quelles balises HTML sont autorisées
& Nbsp; BLEACH_ALLOWED_TAGS = ['p', 'b', 'i', 'u', 'em', 'fort', 'a']
& Nbsp; # Quels attributs HTML sont autorisés
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['href', 'title', 'style']
& Nbsp; # Quelles propriétés CSS sont autorisés dans 'style' attributs (en supposant
& Nbsp; # style est un attribut autorisé)
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'font-family', 'font-weight', 'text-decoration', 'font-variant']
& Nbsp; # Strip balises inconnues si vrai, remplacer par des caractères HTML échappé si
& Nbsp; # Faux
& Nbsp; BLEACH_STRIP_TAGS = True
& Nbsp; commentaires # de bande, ou les laisser dans.
& Nbsp; BLEACH_STRIP_COMMENTS = False
4. Sélectionnez le widget par défaut pour les champs de blanchiment. Par défaut, ce django.forms.Textarea, mais vous aurez probablement envie de le remplacer par un éditeur WYSIWYG, ou quelque chose de semblable:
& Nbsp; # Utilisez le CKEditorWidget pour les champs HTML blanchis
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
Je utilise django-ckeditor dans mes projets, mais ce que vous utilisez est à vous.
Utilisation
Dans vos modèles
django-eau de Javel fournit trois façons de créer une sortie blanchie. La façon la plus simple d'insérer du contenu HTML modifiable par l'utilisateur qui est automatiquement filtrée est en utilisant le champ de modèle Bleachfield:
# Dans app / models.py
à partir de modèles django d'importation
de django_bleach.models importer Bleachfield
classe Post (models.Model):
& Nbsp; title = models.CharField ()
& Nbsp; content = Bleachfield ()
& Nbsp; # ...
Bleachfield prend les arguments suivants, pour personnaliser la sortie d'eau de Javel. Consultez la documentation de l'eau de Javel pour leur utilisation:
- allowed_tags
- allowed_attributes
- allowed_styles
- strip_tags
- strip_comments
En plus des arguments spécifiques à l'eau de Javel, le champ de modèle Bleachfield accepte tous les attributs de terrain normales. Dans les coulisses, ce est un champ de texte, et accepte tous les mêmes arguments que la valeur par défaut TextFields font.
Le champ de modèle Bleachfield utilise le champ de formulaire de Bleachfield à faire tout le travail. Il ne fournit pas lui-même les installations de sanitisation. Ceci est considéré comme un bug, mais une solution propre n'a pas encore été mis en œuvre. Toute demande de tirage de fixation de cette reconnaissance seront appliqués. Tant que le champ modèle Bleachfield est utilisé uniquement avec des champs de formulaire Bleachfield, il n'y aura pas de problème. Si ce ne est pas le cas, HTML aseptisé ne est pas garantie.
Dans vos formulaires
Un champ de formulaire Bleachfield est fourni. Ce champ désinfecte entrée HTML de l'utilisateur, et présente en toute sécurité, HTML propre à votre application Django. Ce est là que la plupart du travail est fait.
Dans vos modèles
Si vous avez un morceau de contenu de quelque part qui doit être imprimée dans un modèle, vous pouvez utiliser le filtre de l'eau de Javel:
{% De charge bleach_tags%}
{{Some_unsafe_content | eau de Javel}}
Le filtre ne prend aucun argument. . Il utilise les paramètres par défaut définis dans vos paramètres d'application

Exigences :

  • Python
  • Django

D'autres logiciels de développeur Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Commentaires à django-bleach

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!