回答編集履歴
5
修正
test
CHANGED
@@ -18,10 +18,9 @@
|
|
18
18
|
|
19
19
|
---
|
20
20
|
|
21
|
-
|
21
|
+
|
22
|
-
(`__init__.py`に記述してもいいかもしれませんが、お好みで。)
|
23
22
|
|
24
|
-
|
23
|
+
admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
|
25
24
|
|
26
25
|
model.py は app.py ではなく、main.py でインポートしており、ルーティングも main.py で行っています。
|
27
26
|
したがって、起動するときは
|
@@ -48,14 +47,7 @@
|
|
48
47
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///admin.db'
|
49
48
|
app.config['SECRET_KEY'] = 'secret_key'
|
50
49
|
```
|
51
|
-
|
50
|
+
|
52
|
-
```py
|
53
|
-
from flask_sqlalchemy import SQLAlchemy
|
54
|
-
from app import app
|
55
|
-
|
56
|
-
|
57
|
-
db = SQLAlchemy(app)
|
58
|
-
```
|
59
51
|
main.py
|
60
52
|
```py
|
61
53
|
# -*- coding: utf-8 -*-
|
@@ -204,11 +196,10 @@
|
|
204
196
|
admin.add_view(ModelView(Creates_comment,db.session))
|
205
197
|
```
|
206
198
|
|
207
|
-
ディレクトリ構造
|
199
|
+
ディレクトリ構造(githubの通り)
|
208
200
|
```hex
|
209
201
|
├model
|
210
|
-
│
|
202
|
+
│ └model.py
|
211
|
-
│ └database.py
|
212
203
|
├app.py
|
213
204
|
└main.py
|
214
205
|
```
|
4
追記
test
CHANGED
@@ -29,6 +29,9 @@
|
|
29
29
|
python main.py
|
30
30
|
```
|
31
31
|
とする必要があります。
|
32
|
+
|
33
|
+
|
34
|
+
※「passward」 の正しい綴りは「password」ですが、下記は元のコードを尊重してそのままにしています。
|
32
35
|
|
33
36
|
---
|
34
37
|
# コード
|
3
修正
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
---
|
20
20
|
|
21
|
-
ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を間にはさんでいる点です。
|
21
|
+
ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を間にはさんでいる点です。(datgabase.py は model.py と同じ場所=model ディレクトリの下に置く)
|
22
22
|
(`__init__.py`に記述してもいいかもしれませんが、お好みで。)
|
23
23
|
|
24
24
|
また、admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
|
2
修正
test
CHANGED
@@ -20,8 +20,18 @@
|
|
20
20
|
|
21
21
|
ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を間にはさんでいる点です。
|
22
22
|
(`__init__.py`に記述してもいいかもしれませんが、お好みで。)
|
23
|
-
|
23
|
+
|
24
24
|
また、admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
|
25
|
+
|
26
|
+
model.py は app.py ではなく、main.py でインポートしており、ルーティングも main.py で行っています。
|
27
|
+
したがって、起動するときは
|
28
|
+
```
|
29
|
+
python main.py
|
30
|
+
```
|
31
|
+
とする必要があります。
|
32
|
+
|
33
|
+
---
|
34
|
+
# コード
|
25
35
|
|
26
36
|
app.py
|
27
37
|
```py
|
1
修正
test
CHANGED
@@ -1,13 +1,27 @@
|
|
1
|
+
☆Usersテーブルを操作するコードの例を示します。
|
2
|
+
(frontendと組み合わせることを想定して、JSONでやり取りする形)
|
1
3
|
下記は、
|
2
4
|
・http://localhost:8000/users でユーザー情報一覧をJSONで返す
|
3
|
-
・http://localhost:8000/users に対して ペイロードをjsonにして
|
5
|
+
・http://localhost:8000/users に対して ペイロードをjsonにしてPOSTすると、ユーザーを追加。
|
4
6
|
・http://localhost:8000/users/<id番号> で該当するidのユーザー情報をJSONで返す
|
5
7
|
・http://localhost:8000/admin で、管理画面に入る
|
6
8
|
というコードになります。
|
7
9
|
|
10
|
+
POSTでデータ追記するのが面倒なら、サンプルデータは、http://localhost:8000/admin で、管理画面に入って、「Create」タブを開けば、手動で追加できます。
|
11
|
+
|
12
|
+
|
13
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2023-07-03/602d7ad7-e8f3-4363-b5ba-6da34bcc81c1.jpeg)
|
14
|
+
|
15
|
+
追加したあと、
|
16
|
+
http://localhost:8000/users/1
|
17
|
+
にアクセスすると、ユーザーの情報がJSON形式で表示されます。
|
18
|
+
|
19
|
+
---
|
20
|
+
|
8
|
-
ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を
|
21
|
+
ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を間にはさんでいる点です。
|
9
|
-
|
22
|
+
(`__init__.py`に記述してもいいかもしれませんが、お好みで。)
|
23
|
+
|
10
|
-
admin画面
|
24
|
+
また、admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
|
11
25
|
|
12
26
|
app.py
|
13
27
|
```py
|