回答編集履歴

5

修正

2023/07/03 12:34

投稿

退会済みユーザー
test CHANGED
@@ -18,10 +18,9 @@
18
18
 
19
19
  ---
20
20
 
21
- ポイントは、元のファイル構造を可能な限り生かしつつ、循環インポートを防ぐために[database.py]を間にはさんでいる点です。(datgabase.py は model.py と同じ場所=model ディレクトリの下に置く)
21
+
22
- (`__init__.py`に記述してもいいかもしれませんが、お好みで。)
23
22
   
24
- また、admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
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
- database.py
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
- │ model.py
202
+ │ model.py
211
- │ └database.py
212
203
  ├app.py
213
204
  └main.py
214
205
  ```

4

追記

2023/07/03 12:25

投稿

退会済みユーザー
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

修正

2023/07/03 12:20

投稿

退会済みユーザー
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

修正

2023/07/03 12:17

投稿

退会済みユーザー
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

修正

2023/07/03 12:06

投稿

退会済みユーザー
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にしてpostすると、ユーザーを追加。
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画面に入るにはAdmin(app)とする必要があります。
24
+ また、admin画面を連携するにはAdmin()ではだめで、Admin(app)とする必要があります。
11
25
 
12
26
  app.py
13
27
  ```py