django admin TinyMCE integration

2019-03-27 15:24发布

This is weird: I have installed and configured django-tinymce, but it doesn't seem to work with django admin.

this works fine with Safari:

class ArticleAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': TinyMCE(attrs={'cols': 80, 'rows': 20}, )},
    }

but i does not work within firefox.

Just adding the js does not work with either:

class Media:
    js = ['/media/js/tiny_mce/tiny_mce.js']

I have tried various combinations of the path: with/without leading slash, with/without 'media' bit, even absolutely absolute http://localhost:8008/... Nothing worked for me.

Big fat however: using grappelli's own tinymce works in both firefox and safari (after adding safari into tinymce_config.js). Any idea what could go wrong?

Using Django 1.1, django-grappelli 2rc, django-tinymce 1.5, FF 3.5, Safari 4 on MacOS X 10.5

4条回答
Deceive 欺骗
2楼-- · 2019-03-27 16:03

The rigth path of js is 'js/tiny_mec/tiny_mce.js', by the way if are you running with the dev server, are you serving your static files with a web server?

查看更多
再贱就再见
3楼-- · 2019-03-27 16:11

The easiest would be to use something like django-tinymce

查看更多
Fickle 薄情
4楼-- · 2019-03-27 16:18

Try this:

from tinymce.widgets import TinyMCE

class ArticleForm(forms.ModelForm):
    formfield_overrides = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 20}))

    class Meta:
        model = Article

class ArticleAdmin(admin.ModelAdmin):
    ......
    form = ArticleForm

    class Admin:
        js = ('js/tiny_mce/tiny_mce.js',
            'js/tiny_mce/textareas.js',
        )
查看更多
Emotional °昔
5楼-- · 2019-03-27 16:20
登录 后发表回答