diff --git a/README.md b/README.md index 3a8beaa49d6f0c6c93b0b1661f4757a2b338b256..9e5f08ec4e1e67652f6bc248270ceedbfd572598 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ # first_blog -参考资料:《Flask Web开发:基于Python的Web应用开发实战(第2版)》 \ No newline at end of file +参考资料:《Flask Web开发:基于Python的Web应用开发实战(第2版)》 + +启动服务: + +1、终端中设置环境变量`$env:FLASK_APP = "flasky.py"` + +2、使用flask run启动 \ No newline at end of file diff --git a/app/__init__.py b/app/__init__.py index 18d51ff69c8ee6d8bfbeed518fbd9ab37ed24c8a..ebb9641df3e9042f0831eb4dc4dbf85967de37d2 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -6,3 +6,16 @@ # Author: GaoNingNing # Date: 2022/11/27 # ------------------------------------------------------------------------------- +from flask import Flask +from config import config + + +def create_app(config_name): + app = Flask(__name__) + app.config.from_object(config[config_name]) + config[config_name].init_app(app) + + # 添加主路由 + from .main import main as main_blueprint + app.register_blueprint(main_blueprint) + return app diff --git a/app/main/__init__.py b/app/main/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..fa38bdd87eb224f3a9d61f5c10446aa999c8eecb --- /dev/null +++ b/app/main/__init__.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*-# + +# ------------------------------------------------------------------------------- +# Name: __init__.py +# Description: 应用主模块 +# Author: GaoNingNing +# Date: 2022/11/27 +# ------------------------------------------------------------------------------- +from flask import Blueprint + +# 主蓝本 +main = Blueprint('main', __name__) + +from . import views diff --git a/app/main/views.py b/app/main/views.py new file mode 100644 index 0000000000000000000000000000000000000000..3f36557d76ba251d7595aa9d019a8ce0e482a93c --- /dev/null +++ b/app/main/views.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*-# + +# ------------------------------------------------------------------------------- +# Name: views +# Description: 视图函数 +# Author: GaoNingNing +# Date: 2022/11/27 +# ------------------------------------------------------------------------------- +from app.main import main + + +@main.route('/') +def index(): + return '

Hello World!

' diff --git a/config.py b/config.py index 57aa0fa9adb9582dfbc1849a6f265eeb6ac7d6b4..561a9257533d45a5ff887f6ee1e95e166e7c4f60 100644 --- a/config.py +++ b/config.py @@ -6,3 +6,47 @@ # Author: GaoNingNing # Date: 2022/11/27 # ------------------------------------------------------------------------------- +import os + +basedir = os.path.abspath(os.path.dirname(__file__)) + + +class Config: + """ + 配置基类 + """ + pass + + @staticmethod + def init_app(app): + pass + + +class DevelopmentConfig(Config): + """ + 开发环境配置 + """ + DEBUG = True + + +class TestingConfig(Config): + """ + 测试环境配置 + """ + TESTING = True + + +class ProductionConfig(Config): + """ + 生产环境配置 + """ + pass + + +config = { + 'development': DevelopmentConfig, + 'testing': TestingConfig, + 'production': ProductionConfig, + + 'default': DevelopmentConfig +} diff --git a/first_blog.py b/first_blog.py index 7cfaae9f88c0102be1452113c00f5b583ae5ba7a..4bb8fbdf5e93aef0662457b5772836e56678d05a 100644 --- a/first_blog.py +++ b/first_blog.py @@ -6,3 +6,8 @@ # Author: GaoNingNing # Date: 2022/11/27 # ------------------------------------------------------------------------------- +import os + +from app import create_app + +app = create_app(os.getenv('FLASK_CONFIG') or 'default')