app=Flask(__name__, #web服务 template_folder='./templates', static_folder='./templates/static' )
时间: 2024-01-17 14:06:00 浏览: 159
这段代码创建了一个名为`app`的Flask应用程序实例,它有三个参数:
1. `__name__`:应用程序的名称,这个名称将用于确定应用程序的根目录。在这个例子中,我们使用`__name__`作为应用程序的名称。
2. `template_folder='./templates'`:模板文件夹的路径。模板文件夹是存放HTML模板文件的地方,它们将用于生成Web页面。在这个例子中,我们将模板文件夹的路径设置为`./templates`,这意味着模板文件夹位于应用程序的根目录下的`templates`文件夹中。
3. `static_folder='./templates/static'`:静态文件夹的路径。静态文件夹是存放静态文件(如CSS、JavaScript、图片等)的地方,它们将用于美化Web页面。在这个例子中,我们将静态文件夹的路径设置为`./templates/static`,这意味着静态文件夹位于应用程序的根目录下的`templates`文件夹中的`static`子文件夹中。
相关问题
app = Flask(__name__, template_folder="../templates", static_folder="../static") app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+mysqlconnector://root:123123@0.0.0.0:3306/mydb" # 设置每次请求结束后会自动提交数据库的改动 app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True db = SQLAlchemy(app)
这段代码使用 Flask 框架创建了一个应用程序对象 `app`。其中,`template_folder` 参数指定了模板文件的目录路径,`static_folder` 参数指定了静态文件的目录路径。
接下来,通过 `app.config` 属性配置了数据库的连接信息。`SQLALCHEMY_DATABASE_URI` 参数指定了数据库的连接地址,这里使用的是 MySQL 数据库,并指定了用户名、密码、主机和端口等信息。
然后,通过设置 `SQLALCHEMY_COMMIT_ON_TEARDOWN` 参数为 `True`,可以在每次请求结束后自动提交数据库的改动。同时,设置 `SQLALCHEMY_TRACK_MODIFICATIONS` 参数为 `True`,可以追踪数据库模型的修改并发送信号。
最后,通过创建 `SQLAlchemy` 对象 `db`,将应用程序对象 `app` 与数据库连接起来,以便进行数据库操作和 ORM(对象关系映射)操作。
root = RootPath(__file__) env = load_dotenv(find_dotenv("./.env"))app = Flask("DefaultAdmin", template_folder=RootPath.join(root, "templates"), static_folder=RootPath.join(root, 'static'), ) # add g app.add_template_global(lambda: os.environ.get('DEV'), 'DEV') # db app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.sqlite' db = SQLAlchemy(app) # login manage app.secret_key = 'Cdu-Dev' login_manage = LoginManager() login_manage.init_app(app) login_manage.login_view = 'auth.login' auth_init_app(app, login_manage) # blueprint 注册蓝图 app.register_blueprint(admin) app.register_blueprint(auth)
这段代码是一个 Flask 应用的基本配置和初始化过程,其中包括以下几个步骤:
1. 导入必要的模块:`Flask` 用于创建 Flask 应用,`os` 用于获取环境变量,`SQLAlchemy` 用于操作数据库,`LoginManager` 用于管理用户登录状态。
2. 创建 Flask 应用实例 `app`,指定模板和静态文件的路径,并且设置了一个全局变量 `DEV`,其值是从环境变量中获取的。
3. 配置数据库连接,这里使用的是 SQLite 数据库,连接字符串为 `sqlite:///example.sqlite`。
4. 初始化 SQLAlchemy 实例 `db`,并将其与应用实例 `app` 关联起来。
5. 配置应用的密钥 `app.secret_key`,用于加密用户登录信息。
6. 初始化 LoginManager 实例 `login_manage`,并将其与应用实例 `app` 关联起来,同时设置登录页面的视图函数。
7. 注册两个蓝图 `admin` 和 `auth`,用于组织应用的不同功能,比如管理后台和用户认证等。
需要注意的是,这段代码中还涉及到了一些自定义的函数和模块,比如 `RootPath` 和 `load_dotenv`,它们可能是在其他地方定义的,但在这里被调用了。
阅读全文