回答編集履歴

3

just exempt csrf

2020/07/23 09:41

投稿

YufanLou
YufanLou

スコア463

test CHANGED
@@ -39,6 +39,22 @@
39
39
  },
40
40
 
41
41
  )
42
+
43
+ ```
44
+
45
+
46
+
47
+ 追記:そうしてもCSRFを踏んだら、Django側その関数に @csrf_exempt でマークしてください
48
+
49
+
50
+
51
+ ```python
52
+
53
+ @csrf_exempt
54
+
55
+ def check():
56
+
57
+ pass
42
58
 
43
59
  ```
44
60
 

2

fix proxy port number

2020/07/23 09:41

投稿

YufanLou
YufanLou

スコア463

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  devServer: {
12
12
 
13
- proxy: 'http://localhost:4000'
13
+ proxy: 'http://localhost:8000'
14
14
 
15
15
  }
16
16
 

1

use proxy to access backend

2020/07/23 07:37

投稿

YufanLou
YufanLou

スコア463

test CHANGED
@@ -1,3 +1,53 @@
1
+ 追記:[Vue 公式ドキュメント](https://cli.vuejs.org/config/#devserver-proxy)によって、フロントエンドとバックエンドのサーバーが同一ではない場合、設定の devServer.proxy にバックエンドサーバーのアドレスを入れれば、フロントエンドで知らないリクエストを全部バックエンドに渡せます。
2
+
3
+
4
+
5
+ ```javascript
6
+
7
+ // vue.config.js
8
+
9
+ module.exports = {
10
+
11
+ devServer: {
12
+
13
+ proxy: 'http://localhost:4000'
14
+
15
+ }
16
+
17
+ }
18
+
19
+ ```
20
+
21
+
22
+
23
+ そうしたら、リクエストの際にアドレスを明言する必要がなくなります。
24
+
25
+
26
+
27
+ ```javascript
28
+
29
+ axios.post(
30
+
31
+ '/polls/check/',
32
+
33
+ {
34
+
35
+ name:this.name,
36
+
37
+ comment:this.comment
38
+
39
+ },
40
+
41
+ )
42
+
43
+ ```
44
+
45
+
46
+
47
+ ---
48
+
49
+
50
+
1
51
  AkitoshiManabeさんの言う通り、`http://127.0.0.1:8080` と `http://localhost:8080`との違いで Cross Origin エラーが出てます。
2
52
 
3
53