django admin TinyMCE integration

2019-03-27 15:16发布

问题:

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

回答1:

The easiest would be to use something like django-tinymce



回答2:

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:

here is solution of this

https://code.djangoproject.com/wiki/AddWYSIWYGEditor

it works :)



回答4:

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',
        )