Добавление {% csrf_token %} к вставке javascript

Все,

У меня есть всплывающее окно, которое вставляется через javascript при нажатии на кнопку:

Я пытаюсь отправить форму и продолжаю получать ошибку "CSRF-токен отсутствует или неверен." Я пытался вставить его через строку '{% csrf_token %}', но это просто оставляет строковое значение, и Django не реагирует на него.

Есть идеи, как я могу это сделать? Есть ли лучший способ?

Я не совсем уверен, есть ли какие-либо проблемы безопасности при использовании этого метода (пожалуйста, сообщите мне, если есть), но я смог инициировать {{ csrftoken }} в шаблоне, используя:

<script>
    var csrftoken = '{{ csrf_token }}';
</script>

и затем передаем это значение токена в JS-функцию следующим образом:

        <a onclick="loadTypeManagement({{ existingDocTypes }}, csrftoken);" id="feedbackButton" data-toggle="modal" data-target="#typeManagementModalDiv" class="hide_table_button underline_none" href="{% url 'admin:login' %}">Type Management</a>

Затем, внутри JS, я смог добавить строку:

'<input type="hidden" name="csrfmiddlewaretoken" value="' + csrftoken + '">' +

в котором хранится значение маркера.

Итак, полный JS выглядит следующим образом:

Для любопытных, эта часть используется для выпадающих элементов и не нужна для чего-либо связанного с csrf_token

 for (i = 0; i < existingDocTypes.length; i++) {
        var opt = document.createElement("option");
        document.getElementById("m").innerHTML += '<option class="option_value" value = "' + existingDocTypes[i] + '" id="' + i + '">' + existingDocTypes[i] + '</option>';
        document.getElementById("m2").innerHTML += '<option class="option_value" value = "' + existingDocTypes[i] + '" id="' + i + '">' + existingDocTypes[i] + '</option>';
    }
Вернуться на верх