Как я могу добавить токен CSRF в VUE или reqwest?

Когда я отправляю данные на сервер, сервер не получает ответа, даже если это делается, если request.method == 'POST': print("************ body request *******")

в django views.py . этот код не может работать.

enter code here

var app6 = new Vue({
  el: '#app-6',
  data: {
     realtimecost:0,
  },
  created() {            
        setInterval(() =>
        {
             this.realtimecost=this.realtimecost+1;           
             if(this.realtimecost==5)
                this.sendData();// here 

          }, 1000);
  },
  methods: {  
    sendData:function ()//send data
     {
        var self = this;
        reqwest({
        url:'http://127.0.0.1:8000/tasks/',
        method:'post', 
        type:'json',
        headers: {
         "X-CSRFToken": Cookies.get('csrftoken')
            },
        data:
        {
              realtimecost:5,
        },//end data
         success:function(resp){

         //self.getData()
         }//end success
        })//end reqwest
        },//end senddata

  }//end method

})//end app6

1 ответ

Возможно, я использую {% csrf_token %} в форме в теле веба, поэтому "X-CSRFToken": Cookies.get('csrftoken') не может работать.

наконец я помещаю "X-CSRFToken":'{{ csrf_token }}' в заголовки, и это работает. но я не знаю механики этого.

reqwest({
        url:'http://127.0.0.1:8000/tasks/',
        method:'post', 
        type:'json',
        headers: {
         "X-CSRFToken":'{{ csrf_token }}'
            },
Другие вопросы по тегам