项目概述
本项目是一个订餐类型后台管理系统,使用Flask框架开发。Day01的主要目标是完成项目初始化、基础配置和数据库设计。
项目初始化步骤
1. 创建项目结构
创建以下文件和文件夹结构:
订餐类型后台管理系统/ ├── config/ # 配置文件目录 │ ├── base_setting.py # 基础配置文件 │ ├── local_setting.py # 本地开发环境配置 │ └── production.py # 生产环境配置 ├── common/ # 公共组件目录 ├── web/ # Web应用主目录 │ ├── static/ # 静态资源文件 │ ├── templates/ # 模板文件目录 │ ├── views/ # 视图蓝图目录 │ └── models/ # 数据模型目录 ├── applocation.py # 应用初始化文件(读取配置) ├── requirements.txt # 项目依赖文件 └── app.py # 项目启动文件
2. 安装所需依赖
创建requirements.txt文件并安装依赖:
# requirements.txt内容 Flask==2.3.3 Flask-SQLAlchemy==3.0.5 PyMySQL==1.1.0 # 安装命令 pip install -r requirements.txt
3. 配置文件设置
基础配置文件 (config/base_setting.py)
# 基础配置文件
SERVER_PORT = 8088
DEBUG = False
SQLALCHEMY_ECHO = False
SECRET_KEY = 'fhefbhebfy873bbfhadsvd'
开发环境配置 (config/local_setting.py)
# 开发环境配置文件
DEBUG = True
SERVER_PORT = 8088
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = 'mysql://root:12345678@127.0.0.1/flask01'
生产环境配置 (config/production.py)
# 生产环境配置文件(可根据需要补充)
DEBUG = False
# 添加生产环境特定的配置
4. 应用初始化 (applocation.py)
# 读取配置文件
from flask import Flask, render_template, request, redirect, url_for, flash
from flask_sqlalchemy import SQLAlchemy
import os
# 重写基础配置
class Applocation(Flask):
def __init__(self, import_name, template_folder=None, root_path=None, static_folder=None):
super(Applocation, self).__init__(
import_name,
template_folder=template_folder,
root_path=root_path,
static_folder=static_folder
)
# 读取基本配置文件
self.config.from_pyfile('config/base_setting.py')
# 检查环境变量
if "ops_config" in os.environ:
self.config.from_pyfile('config/production.py')
else:
self.config.from_pyfile('config/local_setting.py')
# 进行数据库的配置
db.init_app(self)
# 初始化数据库
db = SQLAlchemy()
# 创建应用实例
app = Applocation(
__name__,
template_folder=os.getcwd() + '/web/templates',
root_path=os.getcwd(),
static_folder=os.getcwd() + '/web/static'
)
5. 测试项目运行
为了测试项目是否能正常运行,可以使用之前电影投票系统的代码进行测试:
步骤1:创建电影模型
在web/models/movie/目录下创建Movie.py文件,添加电影模型代码。
步骤2:创建电影视图
在web/views/movie/目录下创建Movie.py文件,添加电影视图代码,并使用蓝图:
from flask import Blueprint
# 定义电影蓝图
route_movie = Blueprint('route_movie', __name__)
# 添加电影相关的路由和视图函数
@route_movie.route('/')
def index():
return "电影首页"
步骤3:注册蓝图
创建www.py文件用于注册蓝图:
from applocation import app
from web.views.movie.Movie import route_movie
# 注册电影蓝图
app.register_blueprint(route_movie, url_prefix='/movie')
步骤4:复制模板和静态文件
将电影投票系统的模板文件复制到web/templates/目录,静态文件复制到web/static/目录。
步骤5:修改模板中的URL
在模板文件中,将所有URL反向解析修改为使用蓝图名称,例如:
<!-- 修改前 -->
<a href="{{ url_for('index') }}">首页</a>
<!-- 修改后 -->
<a href="{{ url_for('route_movie.index') }}">首页</a>
6. 运行项目
访问 http://localhost:5000/movie/ 查看是否正常运行。
数据库设计
设计系统所需的数据库表结构,包括用户表、餐厅表、菜品表、订单表等(具体设计根据需求确定)。
注意事项
-
确保MySQL服务已启动并运行
-
根据实际情况修改数据库连接字符串
-
如果遇到模块导入错误,检查文件路径和导入语句
-
确保所有必要的依赖包已安装
通过以上步骤,项目初始化完成,可以正常运行并进行后续开发工作。
1126

被折叠的 条评论
为什么被折叠?



