Skip to main content

Django widgets for replacing textareas with CodeMirror2, an in-browser code editor

Project description

Django widgets for replacing textareas with CodeMirror, an in-browser code editor. Tested on Django 1.6+, support Python 2.7 and Python 3.4+.

https://travis-ci.org/sk1p/django-codemirror2.svg?branch=master

Installing

  1. run pip install django-codemirror2

  2. Add codemirror2 to INSTALLED_APPS

  3. Collect static files: python manage.py collectstatic

To use django-codemirror2 directly from git, you need to initialize the Codemirror submodule by running git submodule init && git submodule update.

Usage

from django import forms
from codemirror2.widgets import CodeMirrorEditor

class TestForm(forms.Form):
    css = forms.Charfield(widget=CodeMirrorEditor(options={'mode': 'css'}))

The options argument will be passed as JSON to CodeMirror.fromTextArea, see http://codemirror.net/manual.html#config for possible values. Do not pass user-controlled data as options, as this can lead to an XSS vulnerability.

If you want to use a mode that depends on other modes, for example htmlmixed, you need to load the dependencies, too, by passing the modes parameter:

html = forms.Charfield(widget=CodeMirrorEditor(modes=['css', 'xml', 'javascript', 'htmlmixed'],
            options={'mode': 'htmlmixed'}))

If you want to customize the Javascript used to initialize the CodeMirror editor, use script_template:

foo = forms.Charfield(widget=CodeMirrorEditor(options={'mode': 'xml'},
            script_template='some/template.html'))

You can base your script template on the included template codemirror_script.html.

Example app

There is a simple example app included. To run it:

  1. run tox -e devenv

  2. run ./run_example_server.sh

  3. visit http://localhost:8000/admin/testapp/ in your browser.

Project details


Download files

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

Source Distribution

django-codemirror2-0.2.tar.gz (887.3 kB view details)

Uploaded Source

File details

Details for the file django-codemirror2-0.2.tar.gz.

File metadata

File hashes

Hashes for django-codemirror2-0.2.tar.gz
Algorithm Hash digest
SHA256 5ab23891d410206ee36e1b8f834b17ff2eab7a5b82238b22eaa82e26c92c5ea5
MD5 6e29fe7732d301c1d0ea895b029ac9a3
BLAKE2b-256 9d3c1672addfec7976acff4fe4e93d6a3a45d2757e434933aac9d46bca37c284

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page