django-ace
django-ace provides integration for Ace - The High Performance Code Editor for the Web with Django.
django-ace is a fork of Kit Sunde’s django-ace-editor by Bradley Ayers and continued by Julien Palard et al.
This is another fork by Florian Demmer; Compare changelog and source to decide whether you need the changes or better use upstream.
Usage
from django import forms
from django_ace import AceWidget
class EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget)
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'))
To deactivate the syntax checker completely, disable the Web Worker:
class EditorForm(forms.Form):
text = forms.CharField(widget=AceWidget(
mode='css', theme='twilight', use_worker=False
))
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"
use_worker=True,
wordwrap=False,
width="500px",
height="300px",
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
))
Installation
Install using pip:
pip install django_ace
Update INSTALLED_APPS:
INSTALLED_APPS = (
# ...
'django_ace',
)
Example Project
There’s an example project included in the source, to try it do:
# install in virtualenv
cd example/
virtualenv .env
. .env/bin/activate
pip install -e ..
# prepare sqlite database
./manage.py makemigrations app
./manage.py migrate
# user for admin access
./manage.py createsuperuser
# run dev-server
./manage.py runserver
Then browser to http://localhost:8000 or http://localhost:8000/admin.
Change log
v2.2.1
Update Ace editor to version v1.32.3
Expose extensions, contributed by @okaycj in upstream v1.32.0
v2.1.0
Update Ace editor to version v1.31.2
Add CSS to work with admin changes in Django 4.2. Now you can use width=”100%” without breaking the layout. (Anh Tran <anhtran.sky@gmail.com> in upstream v1.15.4)
Replace flake8 with ruff
v2.0.0
Update Ace editor to version v1.10.1 and use minified build
General cleanup and modernization of code
Update example with widget in TabularInline
Update packaging by Julien Palard
Python >= 3.6 is required
v1.1.0
Rewrite of init() function to support admin inline-forms
New widget option use_worker
Use template engine to generate widget HTML
Rewrite of boolean data attributes
Add tests, update example with admin integration
Last release supporting Python 2.7
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 improvements
v1.0.2
Upgrade ACE editor to version 1.1.8
Add support for showprintmargin
v1.0.1
Add support for Django 1.7 by removing deprecated imports.
v1.0.0
Initial release.
Metadata
Release files for fdemmer-django-ace 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fdemmer-django-ace-2.2.1.tar.gz | 2.3 MB | Without provenance | Details for fdemmer-django-ace-2.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fdemmer_django_ace-2.2.1-py3-none-any.whl | Python 3 | none | any | Details for fdemmer_django_ace-2.2.1-py3-none-any.whl |
Total release size: 5.0 MB
Release files / fdemmer-django-ace-2.2.1.tar.gz
| Download URL | fdemmer-django-ace-2.2.1.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f10c233084b05dcbc1b9df06e6508a65aa4b316f65aaed33f2414c91bb2d232
|
|
BLAKE2b-256 checksum How to use checksums |
ea016eec4ee3416459c18e8b1c8bd2ae0ddbb221ca53eb4f9f763299193aea68
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Release files / fdemmer_django_ace-2.2.1-py3-none-any.whl
| Download URL | fdemmer_django_ace-2.2.1-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e646bb289404f53163f12d66bfa7dd72d3b3a0ee1ff6e15fc9c6878516fb8c9
|
|
BLAKE2b-256 checksum How to use checksums |
1f72efdb4dfea0ff92b4e6bf4ac1fc2e54027aeaf8e3ccaa3755031c5c3eef6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.18
|
Security for fdemmer-django-ace 2.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.