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

回答編集履歴

2

追記

2019/09/30 09:42

投稿

quickquip
quickquip

スコア11357

answer CHANGED
@@ -15,4 +15,28 @@
15
15
 
16
16
  > If a rule ends with a slash and is requested without a slash by the user, the user is automatically redirected to the same page with a trailing slash attached.
17
17
 
18
- が効いていないという主旨の質問でしたら、この回答は不適切ですね。
18
+ が効いていないという主旨の質問でしたら、この回答は不適切ですね。
19
+
20
+ ----
21
+
22
+ 追記
23
+
24
+ ```
25
+ @app.route('/upload',methods=['POST'])
26
+ ```
27
+ と書いて`/upload`にアクセスすると表示された時のURLは`/upload`になります。
28
+
29
+ ```
30
+ @app.route('/upload/',methods=['POST'])
31
+ ```
32
+ と書いて`/upload`にアクセスしても、`/upload`というURLに該当する関数は登録されていません。
33
+ ですが`/`を追加すると合致する関数が登録されているなら、HTTPステータスコード308を返し、`/upload/`にリダイレクトします。
34
+ ブラウザは308を受け取って、改めて`/upload/`にアクセスします。それで処理が行われるので、ブラウザで表示された時そのURLは`/upload/`になってます。
35
+
36
+ result.htmlには
37
+ ```
38
+ <img src="static/hoge.jpg" (略)
39
+ ```
40
+ と書いてあるので、
41
+ 前者の場合ブラウザはイメージとして`/static/hoge.jpg`にアクセスします。
42
+ 後者の場合ブラウザはイメージとして`/upload/static/hoge.jpg`にアクセスします。(ページのURLが`/upload/`ですから)

1

追記

2019/09/30 09:42

投稿

quickquip
quickquip

スコア11357

answer CHANGED
@@ -5,4 +5,14 @@
5
5
  ```
6
6
  <form method="POST" action="/upload/" enctype="multipart/form-data">
7
7
  ```
8
- では
8
+ では
9
+
10
+ ----
11
+
12
+ すみません。
13
+
14
+ [https://flask.palletsprojects.com/en/1.1.x/api/#url-route-registrations](https://flask.palletsprojects.com/en/1.1.x/api/#url-route-registrations)
15
+
16
+ > If a rule ends with a slash and is requested without a slash by the user, the user is automatically redirected to the same page with a trailing slash attached.
17
+
18
+ が効いていないという主旨の質問でしたら、この回答は不適切ですね。