Django Forbidden (CSRF-токен отсутствует.)
Я столкнулся с проблемой отправки текста в Django. Когда я нажимаю Insert, появляется сообщение Forbidden (CSRF token missing.):. Кто-нибудь может мне помочь?
Я поместил CSRF-токен в html-файл, но все еще не работает. Я не знаю, находится ли CSRF в неправильной части кода или нет.
csrf_token %} load crispy_forms_tags %}Модальный заголовок --> Показать gabarit ×
Модальное тело --> {{commande}}
.if formset %} Переменные endif %}
<div id="modal" style="display:none;"> <div id="variables-container"></div> <button class="mb-2 btn btn-outline-secondary mr-2"
id="insert-button" type="button" onclick="closeModal()">Insérer
<div id='result'></div> </div> </div> </div> <script>
function openModal() { var inputText = document.getElementById("input-text").value; var variableNames = inputText.match(/{(.*?)}/g); variablesContainer = document.getElementById("variables-container"); variablesContainer.innerHTML = ""; for (var i = 0; i < variableNames.length; i++) { var variableName = variableNames[i].slice(1, -1); variablesContainer.innerHTML += "" + variableName + ":"; } document.getElementById("modal").style.display = "block"; }
function closeModal() { var inputText = document.getElementById("input-text").value; var variableNames = inputText.match(/{(.*?)}/g); for (var i = 0; i < variableNames.length; i++) { var variableName = variableNames[i].slice(1, -1); var variableValue = document.getElementById("variable-"+ variableName).value; inputText = inputText.replace(variableNames[i], variableValue); } document.getElementById("input-text").value = inputText; document.getElementById("modal").style.display = "none"; document.getElementById("variables-button").style.display = "none";
.var xhr = new XMLHttpRequest(); xhr.open("POST", "{% url 'gabarits:save-variables-text' %}", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function() { if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) { console.log("Входной текст успешно сохранен."); }
};
xhr.send("text=" + inputText); }