django-bleach

Screenshot Λογισμικό:
django-bleach
Στοιχεία Λογισμικού:
Εκδοχή: 0.1.4
Ανεβάστε ημερομηνία: 20 Feb 15
Προγραμματιστής: Tim Heap
Άδεια: Δωρεάν
Δημοτικότητα: 2

Rating: 4.0/5 (Total Votes: 1)

Django-χλωρίνη είναι ένα Django app για να ξεβάφει και απολυμάνετε HTML χρήστη.
χλωρίνη είναι μια ενότητα Python που παίρνει κάθε είσοδο HTML, και επιστρέφει έγκυρη, απολυμαίνονται HTML που περιέχει μόνο ένα υποσύνολο των επιτρέπονται ετικέτες HTML, χαρακτηριστικά και στυλ. Django-χλωρίνη είναι ένα app Django που κάνει χρήση χλωρίνης εξαιρετικά εύκολη.
Ρυθμίσεις
1. Εγκαταστήστε το Django-χλωρίνη μέσω PIP:
& Nbsp? Pip εγκατάσταση Django χλωρίνη
2. Προσθέστε Django-χλωρίνη για να INSTALLED_APPS σας:
& Nbsp? INSTALLED_APPS = [
& Nbsp? # ...
& Nbsp? "Django_bleach»,
& Nbsp? # ...
& Nbsp?]
3. Επιλέξτε κάποιες εύλογες προεπιλογές για τις επιτρεπόμενες ετικέτες, τις ιδιότητες και στυλ? και η συμπεριφορά όταν οι άγνωστες ετικέτες που αντιμετωπίζουν. Κάθε ένα από αυτά είναι προαιρετικά, και από προεπιλογή χρησιμοποιώντας τις ρυθμίσεις χλωρίνη. Δείτε την τεκμηρίωση χλωρίνη:
& Nbsp? # Ποια επιτρέπονται ετικέτες HTML
& Nbsp? BLEACH_ALLOWED_TAGS = [«p», «Β», «i», «υ», «em», «ισχυρή», «α»]
& Nbsp? # Ποια είναι τα χαρακτηριστικά HTML επιτρέπεται
& Nbsp? BLEACH_ALLOWED_ATTRIBUTES = ["href», «τίτλος», «στυλ»]
& Nbsp? # Ποιες ιδιότητες CSS επιτρέπεται σε «στυλ» χαρακτηριστικά (υποθέτοντας
& Nbsp? # Στυλ είναι ένα χαρακτηριστικό επιτρέπεται)
& Nbsp? BLEACH_ALLOWED_STYLES = [
& Nbsp? "Font-family ',' font-weight», «text-decoration ',' font-παραλλαγή»]
& Nbsp? # Γάζας άγνωστο ετικέτες αν είναι αλήθεια, αντικαταστήστε με την HTML δραπέτευσε χαρακτήρες εάν
& Nbsp? # Λάθος
& Nbsp? BLEACH_STRIP_TAGS = True
& Nbsp? Σχόλια # Γάζας, ή να τα αφήσετε μέσα.
& Nbsp? BLEACH_STRIP_COMMENTS = False
4. Επιλέξτε την προεπιλεγμένη widget για τα πεδία χλωρίνη. Εξ ορισμού django.forms.Textarea, αλλά μάλλον θα θέλετε να το αντικαταστήσετε με ένα πρόγραμμα επεξεργασίας WYSIWYG, ή κάτι παρόμοιο:
& Nbsp? # Χρησιμοποιήστε το CKEditorWidget για λευκασμένα πεδία HTML
& Nbsp? BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget »
Χρησιμοποιώ Django-ckeditor στα έργα μου, αλλά αυτό που χρησιμοποιείτε είναι μέχρι σας.
Χρήση
Σε μοντέλα σας
Django-λευκαντικό παρέχει τρεις τρόπους για τη δημιουργία λευκασμένο εξόδου. Ο απλούστερος τρόπος συμπεριλαμβανομένης χρήστη επεξεργάσιμο περιεχόμενο HTML που απολυμαίνεται αυτόματα είναι χρησιμοποιώντας το πεδίο μοντέλο BleachField:
# Στο app / models.py
από τα μοντέλα εισαγωγής Django
από django_bleach.models εισαγωγή BleachField
Δημοσίευση κατηγορία (models.Model):
& Nbsp? Title = models.CharField ()
& Nbsp? Περιεχόμενο = BleachField ()
& Nbsp? # ...
BleachField λαμβάνει τα ακόλουθα επιχειρήματα, για να προσαρμόσετε την έξοδο της χλωρίνης. Ανατρέξτε στην τεκμηρίωση του λευκαντικού για τη χρήση τους:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
Εκτός από τις λευκαντικό συγκεκριμένα επιχειρήματα, το πεδίο μοντέλο BleachField δέχεται όλες τις κανονικές ιδιότητες πεδίου. Πίσω από τις σκηνές, αυτό είναι ένα TextField, και δέχεται όλα τα ίδια επιχειρήματα με την προεπιλογή textfields κάνουν.
Το πεδίο μοντέλο BleachField κάνει χρήση του πεδίου φόρμας BleachField να κάνει όλη τη δουλειά. Δεν παρέχει η ίδια τις εγκαταστάσεις απολύμανση. Αυτό θεωρείται ένα σφάλμα, αλλά μια καθαρή λύση δεν έχει ακόμη εφαρμοστεί. Όλα τα αιτήματα έλξη για τον καθορισμό αυτό θα πρέπει να εφαρμόζονται με ευγνωμοσύνη. Εφ 'όσον το πεδίο μοντέλο BleachField χρησιμοποιείται μόνο με BleachField πεδία μορφή, δεν θα υπάρξει πρόβλημα. Αν αυτό δεν είναι η περίπτωση, απολυμαίνονται HTML δεν μπορεί να είναι εγγυημένη.
Σε μορφές σας
Παρέχεται ένα πεδίο φόρμας BleachField. Αυτό το πεδίο sanitises είσοδο HTML από το χρήστη, και παρουσιάζει ασφαλές, καθαρό HTML στην αίτησή σας Django. Αυτό είναι όπου το μεγαλύτερο μέρος της εργασίας γίνεται.
Στα πρότυπα σας
Εάν έχετε ένα peice περιεχομένου από κάπου που πρέπει να εκτυπωθούν σε ένα πρότυπο, μπορείτε να χρησιμοποιήσετε το φίλτρο χλωρίνη:
{% Φορτίο bleach_tags%}
{{Some_unsafe_content | χλωρίνη}}
Το φίλτρο δεν παίρνει ορίσματα. . Χρησιμοποιεί τις προεπιλεγμένες ρυθμίσεις που ορίζονται στις ρυθμίσεις της εφαρμογής σας

Απαιτήσεις :

  • Python
  • Django

Άλλο λογισμικό του προγραμματιστή Tim Heap

wagtailnews
wagtailnews

1 Mar 15

django-pronouns
django-pronouns

14 Apr 15

Σχόλια για django-bleach

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!