《每天5分钟用Flask搭建一个管理系统》第2章:项目结构与配置

第2章:项目结构与配置

2.1 Flask项目目录结构

一个典型的Flask项目可能包含以下目录和文件:

  • /app - 应用目录
    • __init__.py - 初始化Flask应用
    • models.py - 数据模型定义
    • views.py - 视图函数定义
    • forms.py - 表单类定义
  • /config - 配置文件目录
    • config.py - 应用配置
    • default_config.py - 默认配置
  • /templates - 存放模板文件
  • /static - 存放静态文件,如CSS、JavaScript和图片
  • migrations - 数据库迁移文件(如果使用Flask-Migrate)
  • tests - 测试文件
  • run.py - 应用启动文件
  • requirements.txt - 项目依赖列表
  • .env - 环境变量文件

示例代码:项目目录结构

plaintext 复制代码
my_flask_app/
│
├── /app
│   ├── __init__.py
│   ├── models.py
│   ├── views.py
│   └── forms.py
│
├── /config
│   ├── config.py
│   └── default_config.py
│
├── /templates
│   └── ...
│
├── /static
│   └── ...
│
├── /migrations
│   └── ...
│
├── /tests
│   └── ...
│
├── run.py
├── requirements.txt
└── .env
2.2 配置文件的使用

Flask应用的配置可以通过配置文件进行管理。创建一个config.py文件来定义不同的配置类。

示例代码:config.py

python 复制代码
class Config(object):
    SECRET_KEY = 'your_secret_key'
    SQLALCHEMY_DATABASE_URI = 'sqlite:///db.sqlite'

class DevelopmentConfig(Config):
    DEBUG = True

class ProductionConfig(Config):
    DEBUG = False

app_config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig
}
2.3 环境变量的配置

环境变量用于存储敏感信息,如数据库密码或API密钥,不应直接硬编码在代码中。

示例代码:设置环境变量

plaintext 复制代码
export FLASK_APP=my_flask_app
export FLASK_ENV=development

在Flask中,你可以使用os.environ来访问这些环境变量。

示例代码:访问环境变量

python 复制代码
import os
DATABASE_URI = os.environ.get('DATABASE_URI', 'default_uri')
2.4 日志记录的设置

日志记录对于调试和监控应用至关重要。Flask使用Python的logging模块进行日志记录。

示例代码:配置日志记录

python 复制代码
import logging
from logging.handlers import RotatingFileHandler

def configure_logging(app):
    if not app.debug:
        file_handler = RotatingFileHandler('app.log', maxBytes=10240, backupCount=10)
        file_handler.setFormatter(logging.Formatter(
            '%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'
        ))
        file_handler.setLevel(logging.INFO)
        app.logger.addHandler(file_handler)
        app.logger.setLevel(logging.INFO)
        app.logger.info('MyFlaskApp startup')

__init__.py中调用此函数来配置日志。

示例代码:init.py中的日志配置

python 复制代码
from flask import Flask
from app import create_app, configure_logging

app = create_app()
configure_logging(app)
2.5 总结

本章介绍了如何设置Flask项目的结构和配置,包括目录结构、配置文件、环境变量和日志记录。

相关推荐
明月清风徐徐17 分钟前
Miniconda + VSCode 的Python环境搭建
ide·vscode·python
笨鸟笃行30 分钟前
爬虫第七篇数据爬取及解析
开发语言·爬虫·python
java1234_小锋36 分钟前
一周学会Flask3 Python Web开发-response响应格式
开发语言·python·flask·flask3
大数据追光猿38 分钟前
Python中的Flask深入认知&搭建前端页面?
前端·css·python·前端框架·flask·html5
java1234_小锋38 分钟前
一周学会Flask3 Python Web开发-flask3模块化blueprint配置
开发语言·python·flask·flask3
莫忘初心丶40 分钟前
python flask 使用教程 快速搭建一个 Web 应用
前端·python·flask
坚定信念,勇往无前1 小时前
springboot单机支持1w并发,需要做哪些优化
java·spring boot·后端
不爱学英文的码字机器1 小时前
Python爬虫实战:从零到一构建数据采集系统
开发语言·爬虫·python
后端小肥肠1 小时前
【AI编程】Java程序员如何用Cursor 3小时搞定CAS单点登录前端集成
前端·后端·cursor
鹿鸣悠悠1 小时前
Python 类和对象详解
开发语言·python