大家好,我是天空之城,今天给大家带来小福利,flask创建项目步骤(1)
创建虚拟环境
pipenv shell
安装flask
pip install flask
创建Flask工程
配置开发环境
项目的环境分为开发环境和生产环境。
• 开发环境:用于编写和调试项目代码。
• 生产环境:用于项目线上部署运行。
新建配置文件
• 准备配置文件目录
• 准备开发环境配置内容
指定开发环境配置文件
配置MySQL数据库
配置数据库
USERNAME = 'root'
PASSWORD = 'root'
HOSTNAME = '127.0.0.1'
PORT = 3306
DATABASE = 'home'
# 数据库
SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://{}:{}@{}:{}/{}'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = False
安装数据库模块
pip install flask_sqlalchemy
配置Redis数据库
数据缓存服务采用Redis数据库
安装redis扩展包
pip install redis
配置Redis数据库
# 创建Redis
redis_store = None
def creata_app(config_name):
# 使用app初始化db
db.init_app(app)
global redis_store
redis_store = redis.Redis(host=config_class.REDIS_HOST, port=config_class.REDIS_PORT)
配置工程日志
配置日志
def setup_log():
# 设置日志的的登记 DEBUG调试级别
logging.basicConfig(level=logging.DEBUG)
# 创建日志记录器,设置日志的保存路径和每个日志的大小和日志的总大小
file_log_handler = RotatingFileHandler("logs/log", maxBytes=1024*1024*100,backupCount=100)
# 创建日志记录格式,日志等级,输出日志的文件名 行数 日志信息
formatter = logging.Formatter("%(levelname)s %(filename)s: %(lineno)d %(message)s")
# 为日志记录器设置记录格式
file_log_handler.setFormatter(formatter)
# 为全局的日志工具对象(flaks app使用的)加载日志记录器
logging.getLogger().addHandler(file_log_handler)
日志目录
在项目目录下新建一个logs文件夹
日志记录器的使用
import logging
# 创建日志记录器
logger = logging.getLogger('django')
# 输出日志
logger.debug('测试logging模块debug')
logger.info('测试logging模块info')
logger.error('测试logging模块error')
配置前端静态文件
项目中需要使用静态文件,比如css,images,js等等
准备静态文件
在项目目录下新建一个static目录
指定静态文件加载文件
from flask import Blueprint, current_app, make_response
# 提供静态文件的蓝图
html = Blueprint('web_html', __name__)
@html.route("/<re(r'.*'):html_file_name>")
def get_html(html_file_name):
"""提供HTML文件"""
# 如果html_file_name为"", 表示访问的路径是/ ,请求主页
if not html_file_name:
html_file_name = 'index.html'
# 如果资源名不是favicon.ico
# if html_file_name != "favicon.ico":
html_file_name = "html/" + html_file_name
return make_response(current_app.send_static_file(html_file_name))