質問編集履歴
2
インデントを修正しました。いかがでしょうか。
test
CHANGED
File without changes
|
test
CHANGED
@@ -30,70 +30,78 @@
|
|
30
30
|
(コマンドプロンプト上) 「好き」リストは変わらないまま、、、。
|
31
31
|
|
32
32
|
### 該当のソースコード
|
33
|
+
下記のコードのインデントを直して
|
34
|
+
|
35
|
+
|
36
|
+
|
33
|
-
app.py
|
37
|
+
**app.py
|
38
|
+
**
|
39
|
+
|
34
|
-
|
40
|
+
from flask import Flask, render_template, request, session, redirect, url_for
|
35
41
|
import sqlite3
|
36
42
|
|
37
43
|
app = Flask(__name__)
|
38
44
|
db_path = 'mydatabase.db'
|
39
45
|
|
40
|
-
(中略)
|
46
|
+
<!-- (中略) -->
|
41
47
|
|
42
48
|
@app.route('/proposed', methods=['GET', 'POST'])
|
43
49
|
def proposed():
|
50
|
+
<!-- (中略) -->
|
44
51
|
|
52
|
+
elif 'add' in request.form: # 「追加」ボタンの処理
|
53
|
+
conn = sqlite3.connect(db_path)
|
45
|
-
(
|
54
|
+
cursor = conn.cursor()
|
46
55
|
|
56
|
+
# フォームから食材名を取得
|
47
|
-
|
57
|
+
food_name = request.form.get('foodName')
|
48
|
-
conn = sqlite3.connect(db_path)
|
49
|
-
cursor = conn.cursor()
|
50
58
|
|
59
|
+
# 食材名が入力されている場合は「好きリスト」に追加
|
51
|
-
|
60
|
+
if food_name:
|
61
|
+
try:
|
62
|
+
# 写真は空のままで挿入する例としてNoneを指定
|
52
|
-
|
63
|
+
cursor.execute("INSERT INTO 好き (名前, 写真) VALUES (?, ?)", (food_name, None))
|
64
|
+
conn.commit()
|
65
|
+
conn.close()
|
66
|
+
except Exception as e:
|
67
|
+
print("エラー:", e)
|
53
68
|
|
54
|
-
#
|
69
|
+
# フォームを非表示にするためにJavaScriptを使用(ここでフォームを非表示にする処理を行う)
|
55
|
-
if food_name:
|
56
|
-
try:
|
57
|
-
# 写真は空のままで挿入する例としてNoneを指定
|
58
|
-
|
70
|
+
return render_template('proposed.html', suggested_name=session['current_name'], suggested_photo=session['current_photo'], added=True)
|
59
|
-
conn.commit()
|
60
|
-
conn.close()
|
61
|
-
except Exception as e:
|
62
|
-
print("エラー:", e)
|
63
71
|
|
64
|
-
#
|
72
|
+
# 追加処理が終わった後に再度提案画面を表示するためにリダイレクトを行う
|
65
|
-
return re
|
73
|
+
return redirect(url_for('proposed'))
|
66
74
|
|
67
|
-
|
75
|
+
<!-- (後略) -->
|
68
|
-
return redirect(url_for('proposed'))
|
69
76
|
|
70
|
-
(後略)
|
71
77
|
|
72
|
-
」
|
73
78
|
|
74
|
-
proposed.html
|
79
|
+
**proposed.html
|
80
|
+
**
|
75
81
|
|
82
|
+
|
76
|
-
|
83
|
+
<!-- (前略) -->
|
77
84
|
|
78
85
|
<button type="button" onclick="addFood()">追加</button>
|
79
|
-
|
86
|
+
</form>
|
80
87
|
|
81
|
-
|
88
|
+
<div id="addForm" style="display: none">
|
82
|
-
|
89
|
+
<h3>食材名を入力してください:</h3>
|
83
|
-
|
90
|
+
<form method="post" action="/proposed">
|
84
91
|
<input type="text" name="foodName" required />
|
85
92
|
<button type="submit" name="add">追加</button>
|
86
|
-
|
93
|
+
</form>
|
87
|
-
|
94
|
+
</div>
|
88
95
|
|
89
|
-
|
96
|
+
<script>
|
90
|
-
|
97
|
+
function addFood() {
|
91
98
|
var addForm = document.getElementById("addForm");
|
92
99
|
addForm.style.display = "block";
|
93
|
-
|
100
|
+
}
|
94
|
-
|
101
|
+
</script>
|
95
102
|
|
96
|
-
(後略)
|
103
|
+
<!-- (後略) -->
|
104
|
+
|
97
105
|
|
98
106
|
|
99
107
|
データベース(好きリスト)の情報
|
1
マルチポストについ記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
まず初めに、下記のサイトでも質問をさせていただいております。
|
2
|
+
情報が更新されましたら随意反映させていただきます。
|
3
|
+
https://ja.stackoverflow.com/users/59301/keita-takada?tab=questions
|
4
|
+
|
1
5
|
### 実現したいこと
|
2
6
|
[http://127.0.0.1:5000/proposed]画面の
|
3
7
|
[食材名]欄で入力されたものを、「追加」ボタンが押されたら、pythonとhtmlの処理を通して、テーブル名「好き」リストに挿入したいです。
|