The CKEditor cleans the HTML source input to ensure correct HTML output, and to close a potential security vulnerability around user-provided content (particularly, JavaScript).

If you need the output some more complex HTML, you have a number of options: 

  1. Provide configuration for your CKEditor to enable the features you require (https://github.com/divio/djangocms-text-ckeditor#ckeditor_settings), 
  2. Create text-enabled plugins to do what you need (http://docs.django-cms.org/en/latest/reference/plugins.html#text-enabled),
  3. Use CSS and django CMS Style to provide the required classes/markup (https://github.com/divio/djangocms-style)
Did this answer your question?