Функция не распознает переменные страницы

У меня есть 2 страницы, на которых есть функция выхода из системы... В настоящее время HTML-страница выглядит следующим образом... Test1.js имеет функцию выхода из системы, и всякий раз, когда пользователь нажимает кнопку выхода из системы, вызывается функция выхода из системы. Функция выхода из системы. вызывает почтовый запрос на сервере, передавая идентификатор сеанса и токен csrf...

Проблема:

В этой текущей настройке я не могу получить csrf и идентификатор сеанса со страниц, но когда я перемещаю его внутри функции document.ready отдельной страницы, он работает нормально..

Почему идентификатор сессии и функция csrf не видны, если они разделены..

page1.html

    <script src="test1.js"></script>
    <form id="searchform" method="post" action="Search">
        <input type="hidden" name="CSRF" value="{{acsrf}}" />
        <input type="hidden" name="ses_id" value="{{session_id}}" />
        <div>
            <input name="search_string" id="search_string" type="text">
            <input id="searchbutton" name="submit" value="Search" class="input_submit" type="submit">
        </div>
    </form>


    <ul>
      <li id="logoutLink"><a href="#">Logout</a></li>
    </ul>

    $(document).ready(function(){
      $('#logoutbutton').click(Logout)     
    })

Page2.html

<script src="test1.js"></script>

<ul>
  <li id="logoutLink"><a href="#">Logout</a></li>
</ul>

$(document).ready(function(){
  $(#logoutbutton).click(Logout)     
})

test1.js

function Logout() {
      $.post("Logout",
       { antiCSRF: '{{acsrf}}',
         session_id: '{{session_id}}'
    });
      alert("You are now logged out.");
      window.location = './';

}

1 ответ

Проблема в том, что ваш test1.js Файл не может получить доступ к значениям из шаблона django. Если вы поместите свой JavaScript в строку, он должен работать, но при добавлении внешнего скрипта django рассматривает его как статический файл.

Этот пост может быть полезным

Другие вопросы по тегам