Используя django-froala-editor, редактор работает на странице администратора, не будет работать на странице сообщений? Uncaught TypeError: $(). froalaEditor не является функцией

Извините, если мой предыдущий пост не был ясен. Я использую django-froala-editor, https://github.com/froala/django-froala-editor, но это просто не сработает. Я помню, как использовал это в своем последнем проекте, но на этот раз это не сработает. Я установил и настроил его, внутри страницы администратора он работает, но вне страницы администратора он не будет работать. Я сделал, как сказал документ {{form.media}}, и это не сработает. В консоли я получаю U$(...).froalaEditor не является функцией

<script>
            $(function(){
                $('#id_content').froalaEditor({"imageUploadURL": "/froala_editor/image_upload/", "fileUploadParams": {"csrfmiddlewaretoken": getCookie("csrftoken")}, "inlineMode": false, "fileUploadURL": "/froala_editor/file_upload/", "imageUploadParams": {"csrfmiddlewaretoken": getCookie("csrftoken")}})
            });
        </script>

чего я не писал. у меня вместо этого

    {{ form | as_bootstrap }}

и в моих формах.py

    content = forms.CharField(widget=FroalaEditor)

Редактор froala умер? или я делаю это неправильно?


person mike braa    schedule 22.01.2016    source источник
comment
Сообщение об ошибке очень ясное getCookie is not defined, Где вы определили функцию getCookie?   -  person Satpal    schedule 22.01.2016
comment
вот в чем дело, я не знаю, потому что я использую стороннее приложение под названием froala editor github.com/froala/django-froala-editor, я просто вставил {{form.media}} и получил сообщение выше   -  person mike braa    schedule 22.01.2016
comment
не уверен, попробуйте это <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>   -  person Sathish    schedule 22.01.2016


Ответы (1)


Если функция getCookie не установлена, возможно, добавьте ее, как показано на этой странице: https://docs.djangoproject.com/en/1.9/ref/csrf/

// using jQuery
function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}

Так что просто добавьте его в свой проект. Также убедитесь, что вы включили все файлы. Возможно, вам не хватает файла, в который уже добавлена ​​эта функция.

person Awin    schedule 22.01.2016
comment
извините, я должен был быть более ясным, я отредактировал вопрос - person mike braa; 22.01.2016