回答編集履歴
1
エラーについての追記
test
CHANGED
@@ -12,3 +12,55 @@
|
|
12
12
|
それから、たぶんですが、SECRET_KEYもappの方で書くべきもののはずです。
|
13
13
|
blueprintの方でSECRET_KEYを指定しているソースを見たことが無いので、やろうとしたこともないのですが、もし動作がおかしかったら気にしてみてください。
|
14
14
|
|
15
|
+
|
16
|
+
# 追記(2022/03/25 15:41)
|
17
|
+
|
18
|
+
`cannot import name 'C_app' from 'C.C'`が解決されないということですね。
|
19
|
+
|
20
|
+
その前に書いていただいたエラーメッセージの以下部分より
|
21
|
+
|
22
|
+
```text
|
23
|
+
File "C:\C\C.py", line 8, in <module>
|
24
|
+
from server import login_manager
|
25
|
+
```
|
26
|
+
|
27
|
+
そのそも実行できないコードを書いている可能性が高いです。
|
28
|
+
この `login_manager` は 以下で定義した `login_manager` であると思うので、インポートできないと怒られているのだと思います。
|
29
|
+
|
30
|
+
```python
|
31
|
+
app = Flask(__name__)
|
32
|
+
login_manager.init_app(app)
|
33
|
+
```
|
34
|
+
|
35
|
+
C.pyではlogin_managerのimportは不要のはずです。
|
36
|
+
C.pyの該当行を削除して実行ください。
|
37
|
+
|
38
|
+
C.pyでは `login_manager` を作る必要は無く、回答上の方に書いた、以下を記載するだけで利用可能のはずです。
|
39
|
+
|
40
|
+
```python
|
41
|
+
from flask_login import login_required
|
42
|
+
```
|
43
|
+
|
44
|
+
login_requiredは以下のように使用します。
|
45
|
+
|
46
|
+
```python
|
47
|
+
C_app = Blueprint(省略)
|
48
|
+
|
49
|
+
@C_app.route('/')
|
50
|
+
@login_required
|
51
|
+
def index()
|
52
|
+
# 処理
|
53
|
+
|
54
|
+
```
|
55
|
+
|
56
|
+
こうすると、 `def index()` はログイン済みユーザしかアクセスできなくなります。
|
57
|
+
ログイン処理やログアウト処理、遷移処理は別途記載する必要があります。
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|