teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

やったことの追記

2020/02/27 14:04

投稿

hirorai
hirorai

スコア17

title CHANGED
File without changes
body CHANGED
@@ -66,4 +66,30 @@
66
66
  fields = '__all__'
67
67
  ```
68
68
 
69
- よろしくお願い致します。
69
+ よろしくお願い致します。
70
+
71
+
72
+ 追記です。
73
+
74
+ HTML内に{% csrf_token %}を埋め込みました。
75
+ そしてaxiosをincludeしてAPIのPOST部分を
76
+ ```
77
+ axios.defaults.headers.common = {
78
+   'X-Requested-With': 'XMLHttpRequest',
79
+  'X-CSRF-TOKEN' : document.querySelector('input[name="csrfmiddlewaretoken"]').getAttribute('value')
80
+ };
81
+ ```
82
+ として、axiosのヘッダーにCSRFのトークンを入れてPOSTを投げました。
83
+ consoleでaxiosの中身を見てみると
84
+ ```
85
+ common:
86
+ X-Requested-With: "XMLHttpRequest"
87
+ X-CSRF-TOKEN: "qmn8Mh1t1kes7USGG03jVUgIlUwxXkcMuJgdL7HM07ZSxm5P028EWwyM
88
+ ```
89
+ という形で確かにAPIに投げるデータのヘッダーにCSRFのトークンは入っています。
90
+ しかし、同じエラーでした。
91
+ djangoのsettingの
92
+ `'django.middleware.csrf.CsrfViewMiddleware',`
93
+ を消してもエラー内容は変わりませんでした。
94
+ そのため、django以外のところで弾かれているのかもしれません。
95
+ 引き続き、どなたかわかる方がおられましたらお願い致します。