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+.
Installing
run pip install django-codemirror2
Add codemirror2 to INSTALLED_APPS
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:
run tox -e devenv
run ./run_example_server.sh
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
File details
Details for the file django-codemirror2-0.2.tar.gz
.
File metadata
- Download URL: django-codemirror2-0.2.tar.gz
- Upload date:
- Size: 887.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ab23891d410206ee36e1b8f834b17ff2eab7a5b82238b22eaa82e26c92c5ea5 |
|
MD5 | 6e29fe7732d301c1d0ea895b029ac9a3 |
|
BLAKE2b-256 | 9d3c1672addfec7976acff4fe4e93d6a3a45d2757e434933aac9d46bca37c284 |