質問編集履歴
6
説明文追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
<後記、2021年5月6日>
|
2
|
+
|
3
|
+
全体像として、何をやりたかったを、Githubに記載しました。
|
4
|
+
|
5
|
+
宜しかったら、眺めてください。改めて、皆さま、ありがとうございました。
|
6
|
+
|
7
|
+
https://github.com/kazu0116/web_application
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
=====================
|
12
|
+
|
13
|
+
|
14
|
+
|
1
15
|
HTMLと言うか、Jinja2の書き方の問題と言う気がするのですが、どうしても分かりません。
|
2
16
|
|
3
17
|
教えてください。
|
5
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -302,7 +302,7 @@
|
|
302
302
|
|
303
303
|
|
304
304
|
|
305
|
-
return render_template( 'index
|
305
|
+
return render_template( 'index1.html', list1s = list1s)
|
306
306
|
|
307
307
|
|
308
308
|
|
@@ -402,23 +402,23 @@
|
|
402
402
|
|
403
403
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
404
404
|
|
405
|
-
<title>
|
405
|
+
<title>Hello World</title>
|
406
406
|
|
407
407
|
</head>
|
408
408
|
|
409
409
|
<body>
|
410
410
|
|
411
|
-
<h1>{{ title }}</h1>
|
411
|
+
<h1>{{ title }}</h1>
|
412
|
-
|
412
|
+
|
413
|
-
{% block content %}
|
413
|
+
{% block content %}
|
414
414
|
|
415
415
|
{% for list1 in list1s %}
|
416
416
|
|
417
|
-
<p>{{list1}}</p>
|
417
|
+
<p>{{loop.index}}:{{list1}}</p>
|
418
|
-
|
418
|
+
|
419
|
-
|
419
|
+
{% endfor %}
|
420
|
-
|
420
|
+
|
421
|
-
{% endblock %}
|
421
|
+
{% endblock %}
|
422
422
|
|
423
423
|
</form>
|
424
424
|
|
@@ -426,7 +426,7 @@
|
|
426
426
|
|
427
427
|
|
428
428
|
|
429
|
-
</html>
|
429
|
+
</html>コード
|
430
430
|
|
431
431
|
```
|
432
432
|
|
4
解決済の最終コードを追記(御参考)
test
CHANGED
File without changes
|
test
CHANGED
@@ -197,3 +197,259 @@
|
|
197
197
|
丸2日間、色々と試したのですが、どうしても上手くいきません。
|
198
198
|
|
199
199
|
よろしくお願いいたします。
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
************
|
204
|
+
|
205
|
+
2021年5月3日、TakaiYさんのアドバイスに基づき、解決しております。
|
206
|
+
|
207
|
+
最終コードは下記です。(御参考まで)
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
1. pythonのコード
|
212
|
+
|
213
|
+
```ここに言語を入力
|
214
|
+
|
215
|
+
from flask import Flask, render_template,request
|
216
|
+
|
217
|
+
import pymysql
|
218
|
+
|
219
|
+
app = Flask(__name__)
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
@app.route('/', methods=['GET'])
|
224
|
+
|
225
|
+
def get():
|
226
|
+
|
227
|
+
return render_template('index.html', \
|
228
|
+
|
229
|
+
title = 'Form Sample(get)', \
|
230
|
+
|
231
|
+
message = 'Where do you want to go?')
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
def getConnection():
|
238
|
+
|
239
|
+
return pymysql.connect(
|
240
|
+
|
241
|
+
host='localhost',
|
242
|
+
|
243
|
+
db='first_db',
|
244
|
+
|
245
|
+
user='root',
|
246
|
+
|
247
|
+
password='yireozna',
|
248
|
+
|
249
|
+
charset='utf8',
|
250
|
+
|
251
|
+
cursorclass=pymysql.cursors.DictCursor
|
252
|
+
|
253
|
+
)
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
@app.route('/', methods=['POST'])
|
260
|
+
|
261
|
+
def select_sql():
|
262
|
+
|
263
|
+
connection = getConnection()
|
264
|
+
|
265
|
+
message = "test"
|
266
|
+
|
267
|
+
names = request.form.getlist('checkbox')
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
list1s=[]
|
272
|
+
|
273
|
+
for name in names:
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
cursor = connection.cursor()
|
278
|
+
|
279
|
+
sql = "select Country, Agency, email from tb3 where Country=%s";
|
280
|
+
|
281
|
+
cursor.execute(sql, (name,))
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
list = cursor.fetchall()
|
286
|
+
|
287
|
+
list1s.append(list1)
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
cursor.close()
|
294
|
+
|
295
|
+
connection.close()
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
print(list1s) #コンソール上で、キチンとデータが取得できているかどうかの確認用
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
return render_template( 'index2.html', list1s = list1s)
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
if __name__ == '__main__':
|
310
|
+
|
311
|
+
app.run()
|
312
|
+
|
313
|
+
```
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
2.index.htmlのコード
|
318
|
+
|
319
|
+
```ここに言語を入力
|
320
|
+
|
321
|
+
<!doctype html>
|
322
|
+
|
323
|
+
<html lang="ja">
|
324
|
+
|
325
|
+
<head>
|
326
|
+
|
327
|
+
<meta charset="utf-8">
|
328
|
+
|
329
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
330
|
+
|
331
|
+
<title>Hello World</title>
|
332
|
+
|
333
|
+
</head>
|
334
|
+
|
335
|
+
<body>
|
336
|
+
|
337
|
+
<h1>{{ title }}</h1>
|
338
|
+
|
339
|
+
<p>{{ message }}</p>
|
340
|
+
|
341
|
+
<form action="/" method="POST" enctype="multipart/form-data">
|
342
|
+
|
343
|
+
<div>
|
344
|
+
|
345
|
+
<label for="ck1">Afgahanistan:</label>
|
346
|
+
|
347
|
+
<input type="checkbox" id="ck1" name="checkbox" value="Afgahanistan">
|
348
|
+
|
349
|
+
</div>
|
350
|
+
|
351
|
+
<div>
|
352
|
+
|
353
|
+
<label for="ck2">Australia:</label>
|
354
|
+
|
355
|
+
<input type="checkbox" id="ck2" name="checkbox" value="Australia">
|
356
|
+
|
357
|
+
</div>
|
358
|
+
|
359
|
+
<div>
|
360
|
+
|
361
|
+
<label for="ck3">England:</label>
|
362
|
+
|
363
|
+
<input type="checkbox" id="ck3" name="checkbox" value="England">
|
364
|
+
|
365
|
+
</div>
|
366
|
+
|
367
|
+
<div>
|
368
|
+
|
369
|
+
<label for="ck4">France:</label>
|
370
|
+
|
371
|
+
<input type="checkbox" id="ck4" name="checkbox" value="France">
|
372
|
+
|
373
|
+
</div>
|
374
|
+
|
375
|
+
<div>
|
376
|
+
|
377
|
+
<input type="submit" value="送信">
|
378
|
+
|
379
|
+
</div>
|
380
|
+
|
381
|
+
</form>
|
382
|
+
|
383
|
+
</body>
|
384
|
+
|
385
|
+
</html>
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
3.index1.htmlのコード
|
392
|
+
|
393
|
+
```ここに言語を入力
|
394
|
+
|
395
|
+
<!doctype html>
|
396
|
+
|
397
|
+
<html lang="ja">
|
398
|
+
|
399
|
+
<head>
|
400
|
+
|
401
|
+
<meta charset="utf-8">
|
402
|
+
|
403
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
404
|
+
|
405
|
+
<title>test_list</title>
|
406
|
+
|
407
|
+
</head>
|
408
|
+
|
409
|
+
<body>
|
410
|
+
|
411
|
+
<h1>{{ title }}</h1>
|
412
|
+
|
413
|
+
{% block content %}
|
414
|
+
|
415
|
+
{% for list1 in list1s %}
|
416
|
+
|
417
|
+
<p>{{list1}}</p>
|
418
|
+
|
419
|
+
{% endfor %}
|
420
|
+
|
421
|
+
{% endblock %} --!>
|
422
|
+
|
423
|
+
</form>
|
424
|
+
|
425
|
+
</body>
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
</html>
|
430
|
+
|
431
|
+
```
|
432
|
+
|
433
|
+
4.mysqlのtb3のテーブル内容
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
mysql> select * from tb3;
|
438
|
+
|
439
|
+
+--------------+------------+------------------+
|
440
|
+
|
441
|
+
| Country | Agency | email |
|
442
|
+
|
443
|
+
+--------------+------------+------------------+
|
444
|
+
|
445
|
+
| Afgahanistan | ABC Travel | 123@gmail.com |
|
446
|
+
|
447
|
+
| Australia | DEF Travel | 456@yahoo.com |
|
448
|
+
|
449
|
+
| England | GHI Travel | 789@hotmail.com |
|
450
|
+
|
451
|
+
| France | JFK Travel | 1111@yahoo.co.jp |
|
452
|
+
|
453
|
+
+--------------+------------+------------------+
|
454
|
+
|
455
|
+
4 rows in set (0.00 sec)
|
3
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -112,7 +112,7 @@
|
|
112
112
|
|
113
113
|
if __name__ == '__main__':
|
114
114
|
|
115
|
-
app.run()
|
115
|
+
app.run()
|
116
116
|
|
117
117
|
```
|
118
118
|
|
2
コードの抜けを修正(ケアレスミスです。)
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,7 +94,7 @@
|
|
94
94
|
|
95
95
|
|
96
96
|
|
97
|
-
list1s = cursor.fetchall() #Taka
|
97
|
+
list1s = cursor.fetchall() #TakaiYさんのコメントを受け、誤字修正
|
98
98
|
|
99
99
|
print(list1) #コンソール上での動作確認用
|
100
100
|
|
1
コードの抜けを修正(ケアレスミス修正)
test
CHANGED
File without changes
|
test
CHANGED
@@ -94,9 +94,9 @@
|
|
94
94
|
|
95
95
|
|
96
96
|
|
97
|
-
list1 = cursor.fetchall()
|
97
|
+
list1s = cursor.fetchall() #TakakiYさんのコメントを受け、誤字修正
|
98
98
|
|
99
|
-
print(list1) #コンソール上での動作確認用
|
99
|
+
print(list1) #コンソール上での動作確認用
|
100
100
|
|
101
101
|
|
102
102
|
|