Skip to main content

HTML editor on django.contrib.flatpages

Project description

About

django-flatpages-tinymce provides on-site editing of “Flat Pages” with minimal impact on the rest of code.

django-flatpages-tinymce is available under the MIT license.

Usage

First of all, you need to have django-flatpages-tinymce and django-tinymce installed; for your convenience, recent versions should be available from PyPI.

To use, just add these applications to your INSTALLED_APPS after django.contrib.flatpages app:

INSTALLED_APPS = (
    ...
    'django.contrib.flatpages',
    ...
    'tinymce',
    'flatpages_tinymce',
)

If you want on-site editing of templates, you must edit flatpages templates: change {{flatpage.content} to {% flatpage_admin flatpage %} from flatpage_admin template library. So

{% extends "base.html" %}
{% block body %}
{% endblock %}
{% block body %}
<h1>{{flatpage.title}}</h1>
{{flatpage.content}}
{% endblock %}

will become

{% extends "base.html" %}
{% load flatpage_admin %}
{% block body %}
<h1>{{flatpage.title}}</h1>
{% flatpage_admin flatpage %]
{% endblock %}

If you are bothered with <script>/<link> tags, being inserted in <body> tag and your template has something like {% block extrahead %}, you can move all plugin media in head, using {% flatpage_media %} tag.

{% extends "base.html" %}
{% block extrahead %}
{% flatpage_media %}
{% endblock %}
{% block body %}
<h1>{{flatpage.title}}</h1>
{% flatpage_admin flatpage %}
{% endblock %}

Settings

Default settings are in flatpages_tinymce.settings.py file. Also, you can override them in site-wide settings.py file. The main of them are:

  • FLATPAGES_TINYMCE_ADMIN (default True) - use TinyMCE widget in admin area
  • FLATPAGES_TINYMCE_FRONTEND (default True) - use TinyMCE widget in frontend
  • FLATPAGES_TEMPLATE_DIR (default: TEMPLATE_DIRS[0] + ‘flatpages’) - directory where flatpages templates are placed
  • FLATPAGES USE_MINIFIED (defalut: not settings.DEBUG) - use minified versions of JS/CSS

Further, you will want to change default settings of TinyMCE Editor.

TINYMCE_DEFAULT_CONFIG = {
    # custom plugins
    'plugins': "table,spellchecker,paste,searchreplace",
    # editor theme
    'theme': "advanced",
    # custom CSS file for styling editor area
    'content_css': MEDIA_URL + "css/custom_tinymce.css",
    # use absolute urls when inserting links/images
    'relative_urls': False,
}

Changes

Changes in version 0.1.1

  • Minor issues with IE8.0.

Changes in version 0.1

  • First public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-flatpages-tinymce-0.1.1.zip (17.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page