django-wysiwyg-redactor не работает в строках

Поэтому я использую django-wysiwyg-redactor==0.4.9 и Django==1.9. Проблема описана здесь.

Я попробовал подвох в комментариях, но это не помогло. Также в консоли браузера я запускаю этот код непосредственно в нужную текстовую область:

$('#id_outboundprogram_set-2-text').trigger('redactor:init');

Но в любом случае на нем нет редактора. Элемент Textarea выглядит так до и после выполнения кода выше:

<textarea class=" redactor-box" cols="40" data-redactor-options="{"lang": "en", "fileUpload": "/en/redactor/upload/file/", "imageUpload": "/en/redactor/upload/image/", "plugins": ["table", "video"]} id="id_outboundprogram_set-2-text" name="outboundprogram_set-2-text" rows="10"></textarea>

Странно то, что этот код, который я нашел в jquery.redactor.init.js из файлов пакетов, не работает:

// Initialize Redactor on admin's dynamically-added inline
// formsets.
//
// Credit to the approach taken in django-selectable:
// https://github.com/mlavin/django-selectable
$(document).on('click', '.add-row', function () {
    $(this).parents('.inline-related')
           .find('tr.form-row:not(.empty-form)').last()
           .find('textarea.redactor-box')
           .trigger('redactor:init');
});

Есть идеи?

UPD:

Ну, я до сих пор не знаю, почему это приносит пользу, но я решил эту проблему, включив redactor.js файл из файлов пакета и добавление небольших изменений в скрипт выше:

<script type="text/javascript" src="{% static 'js/admin/redactor.js' %}"></script>    
var program_tab = $('#outboundprogram_set-group');  // this is just because I have several inlines
    program_tab.children('.add-row').on('click', function(){
        program_tab.children('.inline-related:not(.empty-form)')
                            .last()
                            .find('textarea.redactor-box')
                            .redactor();
    });

UPD 2:

Используя этот вариант, нет плагинов и обработчиков изображений / файлов. Поэтому я немного исследовал и нашел эту статью.

Но обработка изображений и файлов уже реализована в django-wysiwyg-redactor, поэтому мне нужно просто использовать RedactorUploadView(), URL-адреса можно найти в файле urls.py из источников. Итак, вот код:

var program_tab = $('#outboundprogram_set-group');
program_tab.children('.add-row').on('click', function(){
    program_tab.children('.inline-related:not(.empty-form)')
                        .last()
                        .find('textarea.redactor-box')
                        .redactor({
                            imageUpload: "{% url 'redactor_upload_image' 'tours/out/programs/img/' %}",
                            fileUpload: "{% url 'redactor_upload_file' 'tours/out/programs/files/' %}",
                            plugins: ['table', 'video', 'fullscreen', 'image']
                        });
});

0 ответов

Другие вопросы по тегам