Skip to content

Instantly share code, notes, and snippets.

@ronbeltran
Forked from elidickinson/admin.py
Last active January 30, 2018 09:48
Show Gist options
  • Save ronbeltran/0f076d17aaf86897ed673be73336283a to your computer and use it in GitHub Desktop.
Save ronbeltran/0f076d17aaf86897ed673be73336283a to your computer and use it in GitHub Desktop.
Using CKEditor with Flatpages
from django.contrib import admin
from django.contrib.flatpages.models import FlatPage
# Note: we are renaming the original Admin and Form as we import them!
from django.contrib.flatpages.admin import FlatPageAdmin as FlatPageAdminOld
from django.contrib.flatpages.admin import FlatpageForm as FlatpageFormOld
from django import forms
from ckeditor.widgets import CKEditorWidget
class FlatpageForm(FlatpageFormOld):
content = forms.CharField(widget=CKEditorWidget())
class Meta:
model = FlatPage # this is not automatically inherited from FlatpageFormOld
fields = '__all__'
class FlatPageAdmin(FlatPageAdminOld):
form = FlatpageForm
# We have to unregister the normal admin, and then reregister ours
admin.site.unregister(FlatPage)
admin.site.register(FlatPage, FlatPageAdmin)
@ronbeltran
Copy link
Author

ronbeltran commented Jan 30, 2018

In order to make it work with latest versions of Django you should add

class Meta:
    fields = '__all__'

Use with ckeditor https://django-ckeditor.readthedocs.io/en/latest/index.html#installation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment