J'aimerais connaître la meilleure façon de remplacer un champ textarea standard par un éditeur de texte riche dans Django Admin ?
Réponses
Trop de publicités?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.
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)
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.
- Réponses précédentes
- Plus de réponses