Django почтовый запрос не работает - PullRequest
0 голосов
/ 10 января 2020

Я в данный момент работаю над страницей, которая, когда пользователь нажимает на опцию из одной таблицы, изменит то, какие данные заполняются в других таблицах на странице. Почтовый запрос отправляется через и получает 200 сообщений, но страница не перезагружается. Я даже распечатал все переменные в моем views.py, чтобы убедиться, что я собираю и исправляю данные из базы данных и из запроса POST.

Я работаю с базой данных Neo4j и использую neomodel для выполнения своих запросов.

Моя страница html имеет токен csrf, и мой jquery правильно видит его.

пример одной из таблиц, которые необходимо заполнить:

<div class="row no-gutters align-items-center">
                    <div class="col mr-2">
                      <div class="text-xs font-weight-bold text-success text-uppercase mb-1">Staff Needed: </div>

                      <h1>{{ staffNeeded }}</h1>

                    </div>
                    <div class="col-auto">
                      <i class="fas fa-dollar-sign fa-2x text-gray-300"></i>
                    </div>
                  </div>

my views.py:

def staffinganalysis(request):
    contracts = ContractDataTable.getContractdata()

    allPositions = PositionsDataTable.getAllPositions()
    fillings = PositionsDataTable.getFillings()

    currentlyStaffed = len(fillings)

    if request.method == 'POST':
        postData = request.POST.copy()
        selectedContract = postData.get('contract')
        openings = PositionsDataTable.getOpenings(selectedContract)
        staffNeeded = len(openings)
        print(selectedContract)
        print(openings)

        return render(request,'staffingAnalysis.html',
                  {'contracts': contracts, 'openings': openings, 'allPositions': allPositions, 'fillings': fillings,
                   'staffNeeded': staffNeeded, 'currentlyStaffed': currentlyStaffed})

    if request.method == 'GET':
        return render(request, 'staffingAnalysis.html',{'contracts': contracts,'allPositions': allPositions})

my javascript, которая обрабатывает нажатие кнопки элемент данных:

$(document).ready(function() {
  $('#contract_dataTable').DataTable();
  var CSRFtoken = $('input[name=csrfmiddlewaretoken]').val();

  var table = $('#contract_dataTable').DataTable();

  $('#contract_dataTable tbody').on('click', 'tr', function () {
        var contract = table.row( this ).data().toString();
       $.post('staffinganalysis',{
           contract: contract,
           csrfmiddlewaretoken: CSRFtoken,


       });

    } );
});
...