質問編集履歴

2

コードを修正

2024/03/28 14:48

投稿

kainet24
kainet24

スコア1

test CHANGED
File without changes
test CHANGED
@@ -74,6 +74,9 @@
74
74
 
75
75
  ```python
76
76
  #__init__.py
77
+ from flask import Flask
78
+ from flask_sqlalchemy import SQLAlchemy
79
+ from flask_login import LoginManager
77
80
  from flask_wtf.csrf import CSRFProtect
78
81
  from flask_migrate import Migrate
79
82
  from flask_cors import CORS
@@ -93,6 +96,14 @@
93
96
 
94
97
  db = SQLAlchemy(app)
95
98
  migrate = Migrate(app, db)
99
+
100
+ login_manager = LoginManager()
101
+
102
+ login_manager.init_app(app)
103
+ login_manager.login_view = 'login'
104
+
105
+ from .models import User
106
+ from .routes import *
96
107
  ```
97
108
 
98
109
  ### 試したこと・調べたこと

1

内容を詳細の追加

2024/03/28 14:46

投稿

kainet24
kainet24

スコア1

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,15 @@
1
1
  ### 実現したいこと
2
+ ルートディレクトリの.envファイルで定義したSQLALCHEMY_DATABASE_URIを__init__.pyでインポートして使用しているがSQLALCHEMY_DATABASE_URIが定義できていないとエラーが出てしまう。
3
+ print(os.getenv("SQLALCHEMY_DATABASE_URI"))で正しく表示できたので、インポートに問題はなさそう
4
+ ディレクトリ配置は
5
+ app
6
+ ┝__init__.py
7
+ ┝route.py
8
+ ┝models.py
2
- pythonanywehreでアプリをデプロイしようとしたらエラーがでた。
9
+ └templates - 諸々.html
10
+ .env
11
+ run.py
12
+ ローカル環境では問題なく実行できている。
3
13
 
4
14
  ### 発生している問題・分からないこと
5
15
  'SQLALCHEMY_DATABASE_URI'を設定しているが、SQLALCHEMY_DATABASE_URI' or 'SQLALCHEMY_BINDS' must be set.というエラーが出てしまう。
@@ -25,8 +35,45 @@
25
35
  ```
26
36
 
27
37
  ### 該当のソースコード
38
+ ```python
39
+ #pythonanywhere_com_wsgi.py
40
+ # This file contains the WSGI configuration required to serve up your
41
+ # web application at http://<your-username>.pythonanywhere.com/
42
+ # It works by setting the variable 'application' to a WSGI handler of some
43
+ # description.
44
+ #
45
+ # The below has been auto-generated for your Flask project
46
+
47
+ import sys
48
+
49
+ # add your project directory to the sys.path
50
+ project_home = '/home/kainet24/gantt-chart'
51
+ if project_home not in sys.path:
52
+ sys.path = [project_home] + sys.path
53
+
54
+ # import flask app but need to call it "application" for WSGI to work
55
+ from run import app as application # noqa
56
+
57
+ # このファイル内で project_home = '/home/USERNAME/mysite' と設定されている前提
58
+
59
+ import os
60
+ from dotenv import load_dotenv
61
+
62
+ # プロジェクトフォルダ直下に.envを置く場合
63
+ load_dotenv(os.path.join(project_home, '.env'))
64
+ ```
65
+ ```python
66
+ #run.py
67
+ from app import app, db
68
+
69
+ if __name__ == '__main__':
70
+ with app.app_context():
71
+ db.create_all()
72
+ app.run(debug=False, port=5010)
73
+ ```
28
74
 
29
75
  ```python
76
+ #__init__.py
30
77
  from flask_wtf.csrf import CSRFProtect
31
78
  from flask_migrate import Migrate
32
79
  from flask_cors import CORS