Django Admin で ACE を使う

2017-03-31 10:52 (8 years ago)
Django Admin で ACE を使う

1. requirements.txt に追加

django-ace

2. pip install

pip install -r requirements.txt
( もしくは $ pip install django-ace )

3. settings の INSTALLED_APPS に追加

    'django_ace',

4. ModelAdminを修正

from django_ace import AceWidget
from django.db import models as django_models

...
    formfield_overrides = {
        django_models.TextField: {'widget': AceWidget(
            mode="django", width="100%", height="500px")},
    }

もしくは、form を別途作れば別のテキストフィールドのモードを別個に設定できる

from django import forms as django_forms
class TeikeiTypeAdminForm(django_forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['note'].widget = AceWidget(
            mode="markdown", width="100%", height="500px")
        self.fields['js_function'].widget = AceWidget(
            mode="javascript", width="100%", height="500px")

class TeikeiTypeAdmin(admin.ModelAdmin):
    form = TeikeiTypeAdminForm
list_display = (
...

※Mezzanine上で使ってもかなりいい感じになるのでおすすめ

現在の評価: 5.0 (1)
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。

アーカイブ