Skip to main content

django-ace provides integration for Ace with Django.

Project description

Build Coverage PyPI Download PyPI Python Versions PyPI License

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

  1. Install using pip:

pip install django_ace
  1. 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.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.

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

fdemmer-django-ace-2.1.0.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

fdemmer_django_ace-2.1.0-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

Details for the file fdemmer-django-ace-2.1.0.tar.gz.

File metadata

  • Download URL: fdemmer-django-ace-2.1.0.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for fdemmer-django-ace-2.1.0.tar.gz
Algorithm Hash digest
SHA256 95094838e862319a2a9949743ff69733aeef03e8c1138afc667362ec3898516a
MD5 8767bafb119497ff027e577cef0f6754
BLAKE2b-256 ec8713d2b59abeed3aa75a02e17cae44254727ebd842e21133da0d2354d9eb2a

See more details on using hashes here.

File details

Details for the file fdemmer_django_ace-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fdemmer_django_ace-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 397418950f6c526befa9195f1b328b23e29211630d0a2110b7229ef4ceab999a
MD5 98ab1de627b7d34dccc8170e5ad0d765
BLAKE2b-256 db73ba0373113a0af9c6781f6191bc476a91c229fb8d1be648ef8bc58be4a96c

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