TinyMCE: форматирование моего редактора tinymce убивает функциональность django - PullRequest
1 голос
/ 23 января 2012

Я встроил форму tinymce в приложение django. Я следовал некоторым онлайн-учебникам, и они работали нормально в своих основных настройках по умолчанию. Единственная проблема заключалась в том, что форма tinymce не выглядела так, как я хотел. Поэтому я добавил немного JavaScript, чтобы добавить больше кнопок, чтобы переместить их в верхнюю часть области.

Когда я добавляю javascript, форма не работает. То есть мои новые правки не передаются обратно на сервер, когда я нажимаю кнопку СОХРАНИТЬ.

Следующее отображает форму tinymce:

 <form action="/edit_document/{{ current_doc.id }}/" method="post">{% csrf_token %}
   Name: {{ form.name }} <p>
   {{ form.content }}
   <input type="submit" value="SAVE" />
 </form>

Приведенный выше код работает, пока я не добавлю следующий javascript для форматирования моего редактора tinymce.

<script type="text/javascript"> tinyMCE.init({  
    mode: "textareas",  
    theme: "advanced",  
    plugins: "advhr,table,emotions,media,insertdatetime,directionality", 
    theme_advanced_toolbar_align: "left",  
    theme_advanced_toolbar_location: "top", 
    theme_advanced_buttons1:"bold,italic,underline,strikethrough,sub,sup,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,formatselect,fontselect,fontsizeselect", 
    theme_advanced_buttons2:"bullist,numlist,outdent,indent,ltr,rtl,separator,link,unlink,anchor,image,separator,table,insertdate,inserttime,advhr,emotions,media,charmap,separator,undo,redo", 
    theme_advanced_buttons3: "",  
    content_css: "images/style.css",  
    height: "350px", 
    width: "653px"  
    });  
</script> 

Что происходит сейчас, так это то, что form.content не передается обратно в представление django, скорее я получаю исходное содержимое за вычетом любых новых правок.

Что здесь может происходить? Как я могу это исправить?


После долгих проб и ошибок вот решение. Не размещайте скрипт в верхней части веб-страницы для форматирования элементов tinymce. Вместо этого создайте специальный виджет, который форматирует виджет. Даже если сценарий один и тот же, он влияет на то, как django интерпретирует поле.

1 Ответ

1 голос
/ 24 января 2012

После долгих проб и ошибок, вот решение.Не размещайте скрипт в верхней части веб-страницы для форматирования элементов tinymce.Вместо этого создайте специальный виджет, который форматирует виджет.Даже если сценарий такой же, он влияет на то, как django интерпретирует поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...