Django включить шаблон с использованием Javascript - PullRequest
0 голосов
/ 25 сентября 2018

Я пришел из истории Rails, поэтому вопрос может показаться глупым.В Rails, когда мы создаем Ajax-запрос, мы можем обновить представление, визуализируя частичное с помощью селектора javascript, как показано ниже:

$("#dashboardEmails").html("<%=j render partial: 'emails', locals: {emails: @emails} %>");

Как я могу сделать это в шаблоне Django?Я пробовал следующее:

$.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize() + "&submit=connect",
        success: function (data) {
          if(data['tables'].length > 0){
            $('#data-connection-info').html("{% include 'projects/connection_info.html' with data='"data"' %}");
          }
          console.log(data);
        },
        error: function (data) {
          console.log("Error");
        }
});

Здесь я хочу обновить представление с помощью шаблона projects/connection_info.html, также передавая переменную javascript ( data ) в шаблон, используя with.Но это не работает.

Есть идеи, как мне этого добиться?

ОБНОВЛЕНИЕ

Я передал шаблон из вида, как:

template = render_to_string('projects/connection_info.html', json_data)
return HttpResponse(json.dumps(template), content_type='application/json')

Затем в ajax success функция обновляет DOM:

success: function (data) {
          $('#data-connection-info').html(data);
 }

Таким образом, проблема решена.:)

1 Ответ

0 голосов
/ 25 сентября 2018

Я передал шаблон из представления как:

template = render_to_string('projects/connection_info.html', json_data)
return HttpResponse(json.dumps(template), content_type='application/json')

Затем в функции успеха ajax обновляет DOM:

success: function (data) {
          $('#data-connection-info').html(data);
 }

Таким образом, проблема решена.:)

...