передача переменной из js в представление django - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь передать данные из javascript на странице в другое представление в моем проекте django. Но, похоже, представление не вызывается.Что я хочу сделать, так это то, что с помощью JS я хочу просто получить данные со страницы, содержащей JS, и распечатать их из представления django в консоль.

js на html-странице:

    <script>
    var URL="{% url 'projects:Unread' %}"
    function Unread(){
            var data = {'count': '5', 'X-csrfmiddlewaretoken': csrfmiddlewaretoken};
            $.post(URL, data);

        }
       </script>

где-то со страницы Я вызываю эту функцию, я использовал оповещение, чтобы убедиться, что она вызывается.

мои URL.py:

    path('notification/',Unread,name='Unread')

мой взгляд:

def Unread(request):
count=request.body['count']
print("hello")
print("count status ",count)

Я также пытался использовать request.POST, чтобы получить значение, но теперь работаю. Что я хочу, так это получить 'count' из JSна мой взгляд. Но этого не происходит, даже «привет» не печатается, он даже не связан с JS. Я довольно плохо знаком с django и JS, поэтому я не уверен, что делаю неправильно.Заранее спасибо:)

1 Ответ

0 голосов
/ 02 марта 2019

Как упоминалось в комментариях, вы должны дважды проверить, чтобы убедиться, что ваш POST не дает сбоя по причинам CSRF.Если вы уверены, что это не так, вы можете получить доступ к закодированным формой переменным записи, используя request.POST, не используйте request.body.

def Unread(request):
    count=request.POST['count']
    print("hello")
    print("count status ",count)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...