46 votes

Remplacer le textarea par un éditeur de texte riche dans Django Admin ?

J'aimerais connaître la meilleure façon de remplacer un champ textarea standard par un éditeur de texte riche dans Django Admin ?

2voto

Actuellement, la manière la plus directe d'utiliser tinymce dans l'administration de django est d'utiliser Grappelli.

http://code.google.com/p/django-grappelli/

Grappelli est également une exigence pour django-filebrowser donc si vous voulez le tout, vous en aurez besoin de toute façon.

2voto

user994610 Points 21
class KindEditor(forms.Textarea):
    class Media:
        css ={
            'all':(settings.STATIC_ROOT + 'editor/themes/default/default.css',)
        }
        js = (settings.STATIC_ROOT + 'editor/kindeditor-min.js',settings.STATIC_ROOT + 'editor/lang/zh_CN.js',)
    def __init__(self):
        attrs = {}
        attrs['rel'] = 'kind'
        super(KindEditor, self).__init__(attrs)

class NewsAdminForm(forms.ModelForm):
    pass

    class Meta:
        model = News
        widgets = {
            'body':KindEditor()
        }

class NewsAdmin(admin.ModelAdmin):
    form = NewsAdminForm

admin.site.register(News, NewsAdmin)

0voto

Praveen Kumar Points 51

Installer ce paquet

pip install django-ckeditor

puis exécutez ces commandes pour migrer.

python manage.py makemigrations
python manage.py migrate
python manage.py collectstatic

enfin, redémarrez votre serveur Django.

Une fois que vous avez effectué les étapes ci-dessus, vous pouvez voir l'éditeur de texte enrichi dans les champs de votre panneau d'administration.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X