Я в данный момент работаю над страницей, которая, когда пользователь нажимает на опцию из одной таблицы, изменит то, какие данные заполняются в других таблицах на странице. Почтовый запрос отправляется через и получает 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,
});
} );
});