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

回答編集履歴

1

画像差し替え、文言一部修正

2017/10/10 01:09

投稿

dodox86
dodox86

スコア9416

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  cgiの作り方ですが、今回のご質問のケースでは、以下のように進めれば良いかと思います。
2
2
 
3
- 1.「b.cgi」で処理した結果となるはずの、「a.html」だけをデザインの為に最初にり、ブラウザで見た目を確認する。
3
+ 1.「b.cgi」で処理した結果となるはずの、「a.html」だけをデザインの為に最初にり、chromeなどのブラウザで見た目を確認する。
4
4
 
5
5
  具体的には、htmlのinput要素にvalueが加わったのがそれになります。
6
6
  例:
@@ -15,7 +15,7 @@
15
15
  cgiはformタグで指定されたものが呼び出されるわけですから、
16
16
  `<form action="../cgi-bin/lec02.cgi" method="post">`
17
17
 
18
- このケースの `"../cgi-bin/lec02.cgi"` が動いたときにname属性の各"a", "b", "c"の値を取り出して処理し、更にHTTPレスポンスのコンテントボディとして返すhtml中のvalueにセットして、printで出力すれば良い、と言うことになります。
18
+ このケースの `"../cgi-bin/lec02.cgi"` が動いたときにname属性の各"a", "b", "c"の値を取り出して処理し、更にHTTPレスポンスのコンテントボディとして返すhtml中のvalue属性にセットして、printで出力すれば良い、と言うことになります。
19
19
 
20
20
  要は、a.htmlをテンプレートとして、valueの部分のみを差し替えてhtmlとして出力するプログラムにすれば良いわけです。
21
21
 
@@ -113,9 +113,7 @@
113
113
  http://localhost:8000/cgi-bin/lec02.cgi
114
114
 
115
115
  chromeブラウザーで見ると、以下のように表示されます。
116
- ![イメージ説明](a27a8f0f3696492e36d66732572168b6.png)
116
+ ![イメージ説明](31c71e007efd1e46193cc492e1cb0521.png)
117
-
118
-
119
117
  python3でのcgiですが、サンプルのlec02.cgiは「**formの値を取り出して、htmlで返せば良い**」と言うことを示す為に、分かり易くあえて冗長に造ったところもありますので、公式の文書を読んでみてください。
120
118
 
121
119
  [21.2. cgi — CGI (ゲートウェイインタフェース規格) のサポート](https://docs.python.jp/3/library/cgi.html)