Django Admin で ACE を使う

投稿者: ytyng 7年 前

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

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011