__init__.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import os
  2. import sqlite3
  3. from flask import Flask
  4. from flask_cors import CORS
  5. from . import config
  6. from flask_sqlalchemy import SQLAlchemy
  7. from flask_migrate import Migrate
  8. import logging
  9. # 创建 SQLAlchemy 全局实例
  10. db = SQLAlchemy()
  11. # 创建并配置 Flask 应用
  12. def create_app():
  13. app = Flask(__name__)
  14. CORS(app)
  15. app.config.from_object(config.Config)
  16. app.logger.setLevel(logging.DEBUG)
  17. # 图片上传目录
  18. UPLOAD_FOLDER = 'uploads'
  19. if not os.path.exists(UPLOAD_FOLDER):
  20. os.makedirs(UPLOAD_FOLDER)
  21. app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
  22. # 初始化 SQLAlchemy
  23. db.init_app(app)
  24. # 初始化 Flask-Migrate
  25. migrate = Migrate(app, db)
  26. # 初始化数据库表
  27. def init_db():
  28. conn = sqlite3.connect('software_intro.db')
  29. cursor = conn.cursor()
  30. cursor.execute('''
  31. CREATE TABLE IF NOT EXISTS software_intro (
  32. id INTEGER PRIMARY KEY AUTOINCREMENT,
  33. title TEXT NOT NULL,
  34. intro TEXT
  35. )
  36. ''')
  37. conn.commit()
  38. conn.close()
  39. # 调用初始化数据库
  40. init_db()
  41. # 导入路由
  42. from . import routes
  43. from . import frontend
  44. app.register_blueprint(routes.bp)
  45. app.register_blueprint(frontend.bp)
  46. return app