2016-03-12 6 views
0

Я использую Django 1.8 с Python2.7. Я установил TinyMCE с помощью команды «pip install django-tinymce» и включил приложение «tinymcy» в INSTALLED_APPS.Редактор Django/TinyMCE не работает

INSTALLED_APPS = (
    ... 
    'tinymce', 
    ... 
) 

В URL проекта: urls.py

url(r'^tinymce/', include('tinymce.urls')), 

конфигурации TinyMCE в файле settings.py

TINYMCE_JS_URL = os.path.join(STATIC_PATH,"django-tinymce-master/tinymce/media/tiny_mce/tiny_mce_src.js") 


TINYMCE_JS_ROOT = os.path.join(STATIC_PATH, "django-tinymce-master/tinymce") 

#D:\Dropbox\dp\p2d18\opinion\static\django-tinymce-master\tinymce 

TINYMCE_DEFAULT_CONFIG = { 
'plugins': "table,spellchecker,paste,searchreplace", 
'theme': "advanced", 
'cleanup_on_startup': True, 
'custom_undo_redo_levels': 10, 
} 
TINYMCE_SPELLCHECKER = True 
TINYMCE_COMPRESSOR = True 

models.py

class Post(models.Model): 
    ... 
    body = models.TextField() 
    ... 

forms.py

from django import forms 
from django.contrib.auth.models import User 
from blog.models import Post, Comment, Tag 
from tinymce.widgets import TinyMCE 

class PostForm(forms.ModelForm): 
    --- 
    body = forms.CharField(widget=TinyMCE(attrs={'cols': 50, 'rows': 30})) 
    --- 

views.py

def add_post(request): 
    if request.method == 'POST': 
     form1Post = PostForm(request.POST) 
     form2Tags = TagForm(request.POST) 

     if form1Post.is_valid() and form2Tags.is_valid(): 
      post = form1Post.save() 
      tag_title_from_form = form2Tags['tag_title'].value().strip().lower() 
      tag_title_from_form = tag_title_from_form.rstrip(',') 
      striped_tags = tag_title_from_form.split(',') 
      for t in striped_tags: 
       received_tag = t.strip() 
       tag, created = Tag.objects.get_or_create(tag_title=received_tag) 
       post.tag_set.add(tag) 
      return index(request) 
     else: 
      print (form1Post.errors) 
      print (form2Tags.errors) 
    else: 
     form1Post = PostForm() 
     form2Tags = TagForm() 

Добавлена ​​TinyMCE ссылка на расслоение плотной моей base.html

<script src="{% static 'django-tinymce-master/tinymce/media/tiny_mce/tiny_mce.js' %}"></script> 

Добавлено TinyMCE в моей add_post.html

{{ form1.media }} 

Сгенерированный HTML из TEXTAREA

<textarea class="tinymce" cols="50" data-mce-conf="{&quot;cleanup_on_startup&quot;: true, &quot;spellchecker_languages&quot;: &quot;Afrikaans=af,Arabic=ar,Asturian=as,Azerbaijani=az,Bulgarian=bg,Belarusian=be,Bengali=bn,Breton=br,Bosnian=bs,Catalan=ca,Czech=cs,Welsh=cy,Danish=da,German=de,Greek=el,+English/Australian English/British,  English=en,Esperanto=eo,Spanish/Argentinian Spanish/Mexican Spanish/Nicaraguan Spanish/Venezuelan, Spanish=es,Estonian=et,Basque=eu,Persian=fa,Finnish=fi,French=fr,Frisian=fy,Irish=ga,Galician=gl,Hebrew=he,Hindi=hi,Croatian=hr,Hungarian=hu,Interlingua=ia,Indonesian=id,Ido=io,Icelandic=is,Italian=it,Japanese=ja,Georgian=ka,Kazakh=kk,Khmer=km,Kannada=kn,Korean=ko,Luxembourgish=lb,Lithuanian=lt,Latvian=lv,Macedonian=mk,Malayalam=ml,Mongolian=mn,Marathi=mr,Burmese=my,Norwegian Bokmal=nb,Nepali=ne,Dutch=nl,Norwegian, Nynorsk=nn,Ossetic=os,Punjabi=pa,Polish=pl,Portuguese/Brazilian Portuguese=pt,Romanian=ro,Russian=ru,Slovak=sk,Slovenian=sl,Albanian=sq,Serbian/Serbian Latin=sr,Swedish=sv,Swahili=sw,Tamil=ta,Telugu=te,Thai=th,Turkish=tr,Tatar=tt,Udmurt=ud,Ukrainian=uk,Urdu=ur,Vietn amese=vi,Simplified Chinese/Simplified Chinese/Traditional Chinese/Traditional Chinese=zh&quot;, &quot;elements&quot;: &quot;id_body&quot;, &quot;language&quot;: &quot;en&quot;, &quot;spellchecker_rpc_url&quot;: &quot;/tinymce/spellchecker/&quot;, &quot;directionality&quot;: &quot;ltr&quot;, &quot;theme&quot;: &quot;advanced&quot;, &quot;strict_loading_mode&quot;: 1, &quot;mode&quot;: &quot;exact&quot;, &quot;custom_undo_redo_levels&quot;: 10, &quot;plugins&quot;: &quot;table,spellchecker,paste,searchreplace&quot;}" data-mce-gz-conf="{&quot;themes&quot;: &quot;advanced&quot;, &quot;languages&quot;: &quot;en&quot;, &quot;debug&quot;: false, &quot;diskcache&quot;: true, &quot;plugins&quot;: &quot;table,spellchecker,paste,searchreplace&quot;}" id="id_body" name="body" rows="30"></textarea> 

TinyMCE пока не работает! Где я делаю Ошибку

+0

'данных MCE-конф =" {" ... '-' '" вместо этого следует реальная цитата '' '. – xyres

+0

@xyres Я вставил ее из браузера (Inspect Object). Означает ли это, что проблема заключается в бэкэнде TinyMCE? Я также проверил замену« " »на« »на странице html, но не отвечающий в нужном формате –

+0

Загружает ли ваш html JavaScript TinyMCE (есть ли ссылка в нем в разделе заголовка вашей HTML-страницы)? –

ответ

1

попробовать это, чтобы инициализировать поля TinyMCE на странице add_post.html

<script> 
tinyMCE.init({ 
    mode: "textareas", // to do all text areas 
    // or 
    selector: "#id_myfield", // change this value according to your HTML 
}); 
</script> 
+0

. Он уже создает JS-файл, а именно« init_tinymce.js », который имеет этот код ([http://hastebin.com /uyupeyacax.lisp). –

+0

@MuhammadAhmed - этот файл init__tinymce.js получает вызов? –

+0

Да! Я скопировал файл из окна браузера. –

Смежные вопросы