SFM2001 commited on
Commit
a5cd8cb
·
1 Parent(s): a1577b4

try path sql

Browse files
Files changed (2) hide show
  1. create_app.py +20 -14
  2. database.py +1 -2
create_app.py CHANGED
@@ -49,32 +49,38 @@ def load_models():
49
  MODELS_LOADED = True
50
  print("LOAD ENDED", flush=True)
51
 
 
52
  def create_app():
53
  set_seed(42)
54
- load_models()
55
- app = Flask(__name__)
56
- app.config.from_pyfile('configs.py')
57
- app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(app.instance_path, 'users.db')
 
 
 
 
 
 
 
 
 
 
58
  db.init_app(app)
59
  login_manager.init_app(app)
60
  login_manager.login_view = 'auth.login'
61
- @login_manager.user_loader
62
- def load_user(user_id):
63
- return User.query.get(int(user_id))
64
 
 
65
  with app.app_context():
 
 
 
 
66
  from views import auth_bp, dashboard_bp, infer_bp, about_bp, error_bp
67
  app.register_blueprint(auth_bp)
68
  app.register_blueprint(dashboard_bp)
69
  app.register_blueprint(infer_bp)
70
  app.register_blueprint(about_bp)
71
  app.register_blueprint(error_bp)
72
- @app.errorhandler(Exception)
73
- def handle_all_exceptions(e):
74
- code = getattr(e, 'code', 500)
75
- error_message = str(e) if hasattr(e, 'description') else "Something went wrong."
76
- return render_template('error.html', code=code, error_message=error_message), code
77
- from database import User, History
78
- db.create_all()
79
 
80
  return app
 
49
  MODELS_LOADED = True
50
  print("LOAD ENDED", flush=True)
51
 
52
+
53
  def create_app():
54
  set_seed(42)
55
+ app = Flask(__name__, instance_relative_config=True)
56
+
57
+ # Configure database
58
+ app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join('/instance', 'users.db')
59
+ app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
60
+ app.config['SECRET_KEY'] = 'your-very-secret-key-here' # Must be set!
61
+
62
+ # Ensure instance folder exists
63
+ try:
64
+ os.makedirs(app.instance_path)
65
+ except OSError:
66
+ pass
67
+
68
+ # Initialize extensions
69
  db.init_app(app)
70
  login_manager.init_app(app)
71
  login_manager.login_view = 'auth.login'
 
 
 
72
 
73
+ # Load models (after db initialization)
74
  with app.app_context():
75
+ load_models()
76
+ db.create_all() # Create tables if they don't exist
77
+
78
+ # Register blueprints
79
  from views import auth_bp, dashboard_bp, infer_bp, about_bp, error_bp
80
  app.register_blueprint(auth_bp)
81
  app.register_blueprint(dashboard_bp)
82
  app.register_blueprint(infer_bp)
83
  app.register_blueprint(about_bp)
84
  app.register_blueprint(error_bp)
 
 
 
 
 
 
 
85
 
86
  return app
database.py CHANGED
@@ -7,14 +7,13 @@ class User(UserMixin, db.Model):
7
  id = db.Column(db.Integer, primary_key=True)
8
  email = db.Column(db.String(100), unique=True, nullable=False)
9
  nickname = db.Column(db.String(100), unique=True, nullable=False)
10
- password_hash = db.Column(db.String(200))
11
 
12
  def set_password(self, password):
13
  self.password_hash = generate_password_hash(password)
14
 
15
  def check_password(self, password):
16
  return check_password_hash(self.password_hash, password)
17
-
18
  class History(db.Model):
19
  id = db.Column(db.Integer, primary_key=True)
20
  user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
 
7
  id = db.Column(db.Integer, primary_key=True)
8
  email = db.Column(db.String(100), unique=True, nullable=False)
9
  nickname = db.Column(db.String(100), unique=True, nullable=False)
10
+ password_hash = db.Column(db.String(128), nullable=False)
11
 
12
  def set_password(self, password):
13
  self.password_hash = generate_password_hash(password)
14
 
15
  def check_password(self, password):
16
  return check_password_hash(self.password_hash, password)
 
17
  class History(db.Model):
18
  id = db.Column(db.Integer, primary_key=True)
19
  user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)