2010-10-14 43 views
7

我已經建立了TinyMCE的使用管理控制檯的工作(根據Django文檔http://code.djangoproject.com/wiki/AddWYSIWYGEditor指令)Django管理員:只添加TinyMCE到特定的TextField?

的問題是,我有內聯和其他文本區我的模型內的,我不希望TinyMCE的渲染

有誰知道如何設置TinyMCE只爲我的模型中的特定字段加載?

感謝

編輯 好了,我已經安裝Django的TinyMCE的,並且設定

我已經創建了與我想補充的領域模型的admin.py以下TinyMCE的到:

class FooAdminForm(forms.ModelForm): 
    class Meta: 
     model = Foo 

    def __init__(self, *args, **kwards): 
     self.bar = forms.TextField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) 
     super(FooAdminForm, self).__init__(*args, **kwargs) 

不幸的是,這仍然是不工作

回答

9

右,如果有人要做到這一點(和是無能,因爲我!)

首先確保TinyMCE的設置是正確的(我忽略了這個!)

TINYMCE_JS_ROOT = '/media/tiny_mce/' 
TINYMCE_JS_URL = os.path.join(MEDIA_URL, "tiny_mce/tiny_mce_src.js") 
TINYMCE_DEFAULT_CONFIG = { 
    'plugins': "table,spellchecker,paste,searchreplace", 
    'theme': "advanced", 
} 
TINYMCE_SPELLCHECKER = True 

然後在你的模型的admins.py

from django.forms import * 
from django.db.models import * 
from tinymce.widgets import TinyMCE 

class ProductionForm(forms.ModelForm): 
    some_field = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) 

    class Meta: 
     model = Production 

class ProductionAdmin(admin.ModelAdmin): 
    form = ProductionForm 
5

臨屋t維基頁面大約五年(!),現在通過簡單地使用django-tinymce項目就可以更容易地集成TinyMCE。

但是,既然您已經這樣做了,您可以通過對textareas.js腳本的簡單更改來實現所需的功能。您鏈接中描述的方法使用mode: textareas,正如您注意的那樣,自動轉換所有textareas。你想要的是這樣的:

mode: "exact", 
element: "id_mytextarea", 

其中「id_mytextarea」,就是你要轉換的字段的HTML ID - 由「ID_」爲前綴的模型領域的一般名稱。請參閱TinyMCE documentation

+0

哈哈,我實際上使用了django-docs(沒有檢查日期),雖然他們會更可靠。我已經安裝了django-tinymce。我需要覆蓋管理員表單模型並覆蓋我想要使用TinyMCE小部件的字段? – 2010-10-14 10:41:54

相關問題