Django navigator.sendbeacon csrf保护

Django navigator.sendbeacon csrf保护,django,csrf,django-csrf,Django,Csrf,Django Csrf,我对navigator.sendBeacon('endpoint/',data)有问题。我有一个禁止的错误(CSRF令牌丢失或不正确),因为它通过POST方法传递数据。我知道我应该设置csrf令牌,但我不知道在这种情况下如何设置,有人知道应该如何设置吗?我使用的是Django==2.2.6。您应该执行以下操作: var data = new FormData(); data.append('csrfmiddlewaretoken', '{{csrf_token}}'); navi

我对
navigator.sendBeacon('endpoint/',data)
有问题。我有一个禁止的错误(CSRF令牌丢失或不正确),因为它通过POST方法传递数据。我知道我应该设置csrf令牌,但我不知道在这种情况下如何设置,有人知道应该如何设置吗?我使用的是Django==2.2.6。

您应该执行以下操作:

var data = new FormData();        
data.append('csrfmiddlewaretoken', '{{csrf_token}}');
navigator.sendBeacon('endpoint/',data)
如果是js文件,那么在html中应该创建一个变量,如

<script>
    var csrftoken = '{{ csrf_token }}';
</script>
data.append('csrfmiddlewaretoken', csrftoken);