2009-12-10 79 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', 
     )