2009-12-10 52 views
7

这很奇怪:我已经安装并配置了django-tinymce,但它似乎不能与django admin一起使用。django admin TinyMCE集成

能正常工作的Safari:

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

,但我确实在Firefox 工作。

只需添加JS不与任何工作:

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

我已经试过了路径的各种组合:带/不带斜线,有/无“媒体”位,甚至是绝对绝对http://localhost:8008/ ..没有为我工作。

大胖然而:使用grappelli自己的tinymce在firefox和safari中都有效(将safari添加到tinymce_config.js后)。任何想法可能会出错?

使用Django 1.1,Django的格拉佩利2RC,Django的TinyMCE的1.5,FF 3.5,Safari浏览器4在MacOS X 10.5

+1

剪断requieres下一个导入:从tinymce.widgets导入T inyMCE,from django.db导入模型 – panchicore 2010-04-16 02:08:55

+0

可能检查Firebug控制台的输出会给你一些提示。 TinyMCE语言包无法加载时遇到类似问题。另外,正如前面的评论中提到的,确保你从'django.db'中导入'models',而不是从你的应用中导入。 – zag 2011-06-08 04:48:59

回答

1

JS的分辩路径是 'JS/tiny_mec/tiny_mce.js',顺便如果你使用dev服务器运行,你是否使用web服务器来提供静态文件?

+1

是的,我设置了dev服务器来服务我的静态文件。我发现grappelli可能以某种方式与以简单模式运行的tiny_mce相冲突。将其设置为高级模式有帮助,但我最终决定切换到grappelli的自定义tiny_mce。 – Andy 2009-12-14 14:46:10

0

尝试这种解决方案:

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