订餐类型后台管理系统 - Day01 项目初始化指南

项目概述

本项目是一个订餐类型后台管理系统,使用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/ 查看是否正常运行。

数据库设计

设计系统所需的数据库表结构,包括用户表、餐厅表、菜品表、订单表等(具体设计根据需求确定)。

注意事项

  1. 确保MySQL服务已启动并运行

  2. 根据实际情况修改数据库连接字符串

  3. 如果遇到模块导入错误,检查文件路径和导入语句

  4. 确保所有必要的依赖包已安装

通过以上步骤,项目初始化完成,可以正常运行并进行后续开发工作。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python码上全栈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值