https://github.com/django-ace/django-ace
Django-ace-editor is an implementation of the ajax.org Ace editor as a form widget.
https://github.com/django-ace/django-ace
ace-editor django python
Last synced: 1 day ago
JSON representation
Django-ace-editor is an implementation of the ajax.org Ace editor as a form widget.
- Host: GitHub
- URL: https://github.com/django-ace/django-ace
- Owner: django-ace
- License: other
- Created: 2012-05-04T21:30:40.000Z (about 13 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T16:26:43.000Z (about 1 month ago)
- Last Synced: 2025-04-21T09:05:05.442Z (18 days ago)
- Topics: ace-editor, django, python
- Language: CSS
- Homepage:
- Size: 12.3 MB
- Stars: 138
- Watchers: 6
- Forks: 58
- Open Issues: 2
-
Metadata Files:
- Readme: README.rst
- Contributing: CONTRIBUTING.rst
Awesome Lists containing this project
- awesome-django - django-ace - ACE integration for Django. (Third-Party Packages / Editors)
README
==========
django-ace
==========Usage
=====::
from django import forms
from django_ace import AceWidgetclass EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget(width=None, height=None))Syntax highlighting and static analysis can be enabled by specifying the
language::class EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget(mode='css'))Themes are also supported::
class EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget(mode='css', theme='twilight'))All options, and their default values, are::
class EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget(
mode=None, # try for example "python"
theme=None, # try for example "twilight"
wordwrap=False,
width="500px", # Deprecated, pass None and use CSS
height="300px", # Deprecated, pass None and use CSS
minlines=None,
maxlines=None,
showprintmargin=True,
showinvisibles=False,
usesofttabs=True,
tabsize=None,
fontsize=None,
toolbar=True,
readonly=False,
showgutter=True, # To hide/show line numbers
behaviours=True, # To disable auto-append of quote when quotes are entered
useworker=True,
extensions=None,
basicautocompletion=False,
liveautocompletion=False,
))For a ``ModelForm``, for example in Django admin, it can be used like this::
class PageForm(forms.ModelForm):
class Meta:
model = Page
fields = ("title", "body")
widgets = {
"body": AceWidget(
mode="markdown", theme="twilight", width=None, height=None
),
}class PageAdmin(admin.ModelAdmin):
form = PageFormInstall
=======1. Install using pip::
pip install django_ace
2. Update ``INSTALLED_APPS``::
INSTALLED_APPS = (
# ...
'django_ace',
)Example Project
===============There's an example project included in the source, to try it do::
cd example/
python -m venv .venv
source .venv/bin/activate
pip install -e ..
./manage.py migrate
./manage.py runserverThen browser to ``http://localhost:8000``.
Change log
==========v1.39.1
-------- Update ACE editor to version v1.39.1.
Add a `useStrictCSP` option.
v1.38.0
-------- Update ACE editor to version v1.38.
The ``width`` and ``height`` arguments (which sets the HTML ``style``
attribute) are starting a slow change of their default
values. Starting from this version do not rely in their default
arguments, give them explicitly!They are changing from ``width="500px", height="300px"`` (setting the
HTML ``style`` argument) to ``width=None, height=None`` (relying on
the CSS).The default CSS uses ``width: 500px; height: 300px``, so changing from
no ``width`` and no ``height`` to ``width=None, height=None`` is an
easy correct move.If you need custom size, prefer using ``width=None, height=None`` (the
future default values) and use CSS to customize the size, this permits
more secure CSP rules.v1.37.5
-------- Update ACE editor to version v1.37.5.
- Use minified and non-conflict ACE instead of basic.
- Expose two new options: enablebasicautocompletion and enableliveautocompletion.v1.36.2
-------- Update ACE editor to version v1.36.2.
v1.32.4
-------- Expose useworker, contributed by @mounirmesselmeni.
v1.32.3
-------- Update ACE editor to version v1.32.3.
v1.32.0
-------- Update ACE editor to version v1.32.0.
- Expose extensions, contributed by @okaycj.v1.31.1
-------- Update ACE editor to version v1.31.1.
v1.26.0
-------- Update ACE editor to version v1.26.0.
v1.24.1
-------- Update ACE editor to version v1.24.1.
v1.23.4
-------- Update ACE editor to version v1.23.4.
v1.22.1
-------- Update ACE editor to version v1.22.1.
v1.19.0
-------- Update ACE editor to version v1.19.0.
v1.15.4
-------- Added CSS to work with new admin in Django 4.2. Now you can use `width="100%"` without breaking the layout.
v1.15.3
-------- Update ACE editor to version v1.15.3.
v1.14.0
-------- Update ACE editor to version v1.14.0.
- Follow ACE version numbers.v1.0.13
-------- Update ACE editor to version v1.11.2.
v1.0.12
-------- Update ACE editor to version v1.5.0.
v1.0.11
-------- Support Grappelli inlines.
v1.0.10
-------- FIX JavaScript error when using ``JavaScriptCatalog``.
v1.0.9
------- New widget option ``showgutters`` to hide line numbers.
- New widget option ``behaviours`` to avoid auto-insert of quotes.v1.0.8
------- New widget option ``readonly``.
- Update ACE editor to version v1.4.12.v1.0.7
------- New widget option ``toolbar``.
- Update ACE editor to version v1.4.8.v1.0.6
------- New widget option ``fontsize``.
- Update ACE editor to version v1.4.7.v1.0.5
------- New widget option ``tabsize``.
- Upgrade ACE editor to version v1.4.2.v1.0.4
------- Update Django compatibility to ``>1.11,<=2.1``
- New widget options ``minLines``, ``maxLines``, ``showinvisibles``, ``usesofttabs``.
- Upgrade ACE editor to version v1.4.0.
- Updated example for Django 1.11
- PEP8 improvementsv1.0.2
------- Upgrade ACE editor to version 1.1.8
- Add support for showprintmarginv1.0.1
------- Add support for Django 1.7 by removing deprecated imports.
v1.0.0
------- Initial release.