A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/django-ace/django-ace below:

django-ace/django-ace: Django-ace-editor is an implementation of the ajax.org Ace editor as a form widget.

from django import forms
from django_ace import AceWidget

class 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 = PageForm
  1. Install using pip:

    pip install django_ace
    
  2. Update INSTALLED_APPS:

    INSTALLED_APPS = (
        # ...
        'django_ace',
    )
    

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 runserver

Then browser to http://localhost:8000.

Add a useStrictCSP option.

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.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4