Форма флага с расширенным текстовым редактированием на месте

Я хочу, чтобы одобренные пользователи редактировали свои записи в формате Rich Text. Я знаю о TinyMCE, CKEditor, X-editable , wtf_tinymce и т. Д., Но я не могу найти ни одного последовательного примера возможности отправлять данные формы из встроенного редактируемого текстового поля.

Эта страница « Flask Biography » появляется ближе всего, я считаю, но она выглядит сложной; TinyCME также имеет встроенный пример редактирования, но для этого требуется элемент div, а не обычный форма, поэтому я не вижу, как получить данные из этого.

  • Декодирование base64 от POST для использования в PIL
  • json.dumps vs flask.jsonify
  • Почему этот фильтр Jinja nl2br исчезает, но не <p>?
  • Python Flask Render Text из переменной, например render_template
  • Как можно сохранить уникальное соединение Rserve за сеанс?
  • как правильно передать json-объект на сервер флеши, используя jquery ajax
  • Как использовать богатый текстовый редактор в поле «Тип фляшки»?

  • Ошибка CORS в том же домене?
  • Удалите ненужные пробелы из шаблона, сделанного Jinja
  • Как настроить сервер Python на стороне клиента javascript
  • Настроить (переопределить) метод отправки Flask-Admin из вида редактирования
  • невозможно создать новый канал в javascript API канала
  • Как передать csrf_token в post params editurl jqgrid?
  • One Solution collect form web for “Форма флага с расширенным текстовым редактированием на месте”

    В чат-комнате SO Python есть веб-сайт https://sopython.com/ с вики и некоторыми другими инструментами. Мы используем Ace в качестве улучшения текстового поля. Предполагается, что другие текстовые редакторы работают аналогичным образом.

    Создайте базовую текстовую область как обычно и помечайте ее каким-либо образом, чтобы указать, что редактор должен ее заменить. Используйте JavaScript-редактор редактора, чтобы создать редактор, связать его с текстовой областью и заменить текстовую область. Отправка формы по-прежнему отправляет текстовое поле, которое обновляется редактором.

    Вот как мы интегрируем Ace:

    <textarea data-editor="markdown"></textarea> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/ace/1.1.3/ace.js"></script> <script type="text/javascript"> // https://gist.github.com/duncansmart/5267653 // find each text area marked to have an editor $('textarea[data-editor]').each(function() { var textarea = $(this); var mode = textarea.data('editor'); // create the editor div var div = $('<div>', { 'width': textarea.outerWidth(), 'height': textarea.outerHeight(), 'class': textarea.attr('class') }).insertBefore(textarea); // hide the original text area textarea.hide(); // configure the editor var editor = ace.edit(div[0]); var session = editor.getSession(); editor.setTheme("ace/theme/github"); session.setValue(textarea.val()); session.setMode('ace/mode/' + mode); session.setNewLineMode('unix'); session.setTabSize(4); session.setUseSoftTabs(true); session.setUseWrapMode(true); // update the text area before submitting the form textarea.closest('form').submit(function() { textarea.val(editor.getSession().getValue()); }); }); </script> 
    Python - лучший язык программирования в мире.