Использование условий Ajax и Django для отображения html-переменной - PullRequest
0 голосов
/ 09 февраля 2019

Я новичок в использовании вызовов Ajax с Django.Я пытаюсь реализовать простое отображение или не отображать в зависимости от типа вызова, вызываемого Ajax:

Просмотров:

def dynamic(request):
    context = {}
    if request.method == 'GET':
        if 'backtest_type' in request.GET:
           context['display_details'] = False
           print ('Im not displaying')

        elif 'change_val' in request.GET:
            context['display_details'] = True
            print ('Im displaying')

        else:
            context['display_details'] = False

    return render(request, "demo/dynamic.html", context)

В моем шаблоне:

{% extends 'demo/base.html' %}
{% block body %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<link rel="stylesheet" href="{% static 'css/dynamic.css' %}">


<script>
  $(document).on('click','#id_backtest_type', function () {
    console.log( $(this).val() );
    $.ajax({
        type: 'get',
        data: {'backtest_type': 1},
        success: function (data) {
          console.log('data  sent ' + data);
      },
        failure: function(data) {
          alert('Got an error dude');
        }
      });
  });
  $(document).on('click','#btnClick', function () {
    // console.log( $(this).val() );
    $.ajax({
        type: 'get',
        data: {'change_val': 1},
        success: function (data) {
          console.log('data  sent ' + data);
        failure: function(data) {
          alert('Got an error dude');
        }
      });
    });
</script>

<div>
  {% if display_details %}
  <h1>I'm diplaying</h1>
  {% endif %}
</div>

<div id="btnClick" class="col-sm-4">
    <div class="btn-group btn-group-justified" role="group">
      <div class="btn-group" role="group">
        <button class="btn btn-secondary" type="button">Don't Display</button>
      </div>
    </div>
  </div>

<div id="id_backtest_type" class="col-sm-4">
    <div class="btn-group btn-group-justified" role="group">
      <div class="btn-group" role="group">
        <button class="btn btn-secondary" type="button">Display!</button>
      </div>
    </div>
  </div>

{% endblock %}

С консоли я уверен, что запросы get правильно отправляются с использованием ajax (запросы get отправляются, и консоль печатает операторы:

[09 / Feb / 2019 20:00:56] "GET / dynamic /? Backtest_type = 1 HTTP / 1.1" 200 6530

Я отображаю

Однако, даже есливызов ajax работает правильно, шаблон не отображается <h1>I'm diplaying</h1>. Не понимаю ли я что-нибудь о Ajax?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...