Как обновить sh или перезагрузить внутри {% include 'need_refresh_template'%} в Django framework - PullRequest
0 голосов
/ 14 апреля 2020

Среда

django 2.2 python 3.6

Вопрос

Я прикрепил ACE editor в своем шаблоне и пытаюсь заставить жить Предварительный просмотр с ajax в шаблоне.


Это шаблон редактора Ace

<!-- ACE editor -->
<div style="width: 100%; height: 300px;">
    <div id="editor"></div>
</div>

<!-- Preview -->
<div style="width:100%; height: 300px;>
    {% include 'terms_include.html' %}
</div>
<script>
var editor = ace.edit("editor");
editor.setTheme("ace/theme/twilight");
editor.session.setMode("ace/mode/css");
editor.setOptions({
    enableBasicAutocompletion: true,
    enableSnippets: true,
    enableLiveAutocompletion: true
});

$('#id_preview').click(function () {
    var css_data = editor.getValue();
    $.ajaxSetup({
        headers: { "X-CSRFToken": '{{csrf_token}}' }
    });
    $.ajax({
        url: '{% url 'terms_ajax_preview' %}',
        type: 'POST',
        data: {
            css : css_data
        }
    })
});


</script>

А это еще один шаблон, прикрепленный к Первый шаблон include tag

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{{ contexts }}
<script>
    {% if contexts %}
    alert('{{ contexts }}');
    {% endif %}
</script>

</body>
</html>


views.py

def terms_ajax_preview(request):
    if request.is_ajax():
        get_text = request.POST.get('css', '')
        print(get_text)

        context = {
            'contexts': get_text
        }

        return render_to_response('api/terms_include.html', context)
        # return render(request, 'api/terms_include.html', context)

print(get_text) работает очень хорошо. Однако я не имею никакого представления о рендеринге данных контекста и перезагрузке шаблона внутри include tag.

Как мне вернуться к отображению данных, добавленных в этот шаблон?

...