2010-10-14 9 views
7

मैं व्यवस्थापक पैनल के साथ काम करनेDjango व्यवस्थापक: केवल TinyMCE को विशेष TextField में जोड़ें?

समस्या (Django डॉक्स http://code.djangoproject.com/wiki/AddWYSIWYGEditor में निर्देशों के अनुसार) TinyMCE की स्थापना की है TinyMCE है कि मैं अपने मॉडल के भीतर inlines और अन्य पाठ क्षेत्रों है जिसके लिए मैं नहीं करना चाहती है

क्या कोई जानता है कि 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 
तब में

आपके मॉडल

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

था टी विकी पेज लगभग पांच वर्ष पुराना है (!) और इन दिनों django-tinymce प्रोजेक्ट का उपयोग करके, TinyMCE को एकीकृत करने का एक आसान तरीका है।

हालांकि, चूंकि आपने इसे पहले से ही कर लिया है, इसलिए आप textareas.js स्क्रिप्ट में एक साधारण परिवर्तन के साथ जो चाहते हैं उसे प्राप्त कर सकते हैं। आपके लिंक पर वर्णित विधि mode: textareas का उपयोग करती है, जैसा कि आप नोट करते हैं कि सभी टेक्स्टरे स्वचालित रूप से परिवर्तित हो जाते हैं। क्या आप चाहते हैं यह है:

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

जहां "id_mytextarea" क्षेत्र आप परिवर्तित करना चाहते हैं के एचटीएमएल आईडी है - आम तौर पर मॉडल क्षेत्र "id_" लगाया जाता है का नाम है। TinyMCE documentation देखें।

+0

हाहा, मैंने वास्तव में django-docs (दिनांक की जांच किए बिना) का उपयोग किया क्योंकि मैं अधिक विश्वसनीय होगा। मैंने अब django-tinymce स्थापित किया है। मुझे व्यवस्थापक फॉर्म मॉडल को ओवरराइट करने और उस फ़ील्ड को ओवरराइट करने की आवश्यकता है जिसे मैं TinyMCE विजेट का उपयोग करना चाहता हूं? –

संबंधित मुद्दे