04点餐项目的架构设计

(1). 项目的使用技术

  • 基于Python语言,版本:>=3.6及以上。
  • 使用Django框架,版本:2.2.*的LTS版本。
  • MySQL数据库
  • 连接数据库:mysqlclient=1.4.6
  • 图像处理: Pillow=5.0.0
  • Web前端技术:HTML、CSS、JavaScript和Jquery等

  • 本次项目共计三个应用: myadminwebmobile

myobject/ 项目目录
  |
  |--myadmin/ 后台管理应用
  |    |--__init__.py
  |    |--views/  这是独立的文件夹
  |    |    |--index.py 后台首页、登录、退出、验证码加载等视图方法
  |    |    |--user.py 员工信息管理视图
  |    |    |--member.py 会员信息管理视图
  |    |    |--shop.py 店铺信息管理视图
  |    |    |--product.py 菜品信息管理视图
  |    |    |--orders.py 订单信息管理视图
  |    |    |--.....

  |    |
  |    |-- admin.py
  |    |-- apps.py
  |    |-- models.py  定义了整个网站的models类,除了本应使用,还提供给其他应用
  |    |-- shopmiddleware.py 定了整个网站的中间件(验证是否登录及权限管理信息)
  |    |-- tests.py
  |    |-- urls.py 配置了整个网站后台所有请求路由
  |
  |--web/ 前台应用(大堂点餐)
  |    |-- __init__.py
  |    |--views/  这是独立的文件夹
  |    |    |--index.py 大堂点餐应用的登录、退出、验证码、加载店铺等方法
  |    |    |--product.py 菜品展示视图
  |    |    |--shopcart.py 购物车管理视图
  |    |    |--orders.py 订单管理视图
  |    |-- admin.py
  |    |-- apps.py
  |    |-- models.py
  |    |-- tests.py
  |    |-- urls.py 配置了大堂点餐应用的所有请求路由
  |
  |--mobile/ 移动端点餐应用\
  |    |-- __init__.py
  |    |--views/  这是独立的文件夹
  |    |    |--index.py 登录,退出路由
  |    |    |--shop.py 店铺信息加载视图
  |    |    |--product.py 菜品信息加载展示视图
  |    |    |--orders.py 个人订单信息管理视图
  |    |    |--member.py 个人中心管理视图
  |    |    |--......

  |    |
  |    |-- admin.py
  |    |-- apps.py
  |    |-- models.py
  |    |-- tests.py
  |    |-- urls.py 配置了移动端点餐应用的所有请求路由
  |
  |--myobject/ 项目目录
  |    |-- __init__.py
  |    |-- settings.py
  |    |-- urls.py
  |    |-- wsgi.py
  |
  |--static/ 静态资源目录
  |    |-- uploads/   上传文件存储目录
  |    |-- myadmin/   后台管理静态资源目录
  |    |-- web/       大堂点餐静态资源目录
  |    |-- mobile/    移动端管理静态资源目录
  |
  |--templates/ 模板目录
  |    |-- myadmin/   后台管理模板目录
  |    |-- web/       大堂点餐模板目录
  |    |-- mobile/    移动端管理模板目录
  |
  |--manage.py 入口文件
  • 网站后台应用的模块操作说明

模块操作权限登录&退出管理获取登录界面、处理登录、退出、验证码无后台首页页后台首页网站编辑权限员工信息管理浏览(搜索&分页)、执行添加、编辑、删除(状态及删除)、更改状态、重置密码网站编辑权限店铺信息管理浏览、获取添加界面、执行添加、获取编辑界面、执行修改、删除网站编辑权限菜品类别管理浏览、获取添加界面、执行添加、获取编辑界面、执行修改、删除网站编辑权限菜品信息管理浏览(搜索&分页)、获取添加界面、执行添加、获取编辑界面、执行修改、删除网站编辑权限会员信息管理浏览(搜索&分页)、详情、更改状态、重置密码网站编辑权限订单信息管理浏览(搜索&分页)、查看订单详情、处理订单、删除网站编辑权限

  • 前台大堂点餐应用的模块操作说明

模块操作权限登录&退出管理获取登录界面、选择店铺、处理登录、退出、验证码无店铺中的菜品类别与菜品展示菜品类别,菜品展示会员权限购物车(点餐)管理添加菜品、查看购物车,修改、删除、清空会员权限订单处理订单处理界面,确认订单界面、执行订单处理会员权限历史订单管理查看历史订单,订单详情、处理订单会员权限

  • 移动端应用的模块操作说明

模块操作权限登录&退出管理获取登录界面、选择店铺、处理登录、退出、验证码无店铺切换切换店铺会员权限菜品展示添加菜品、查看购物车,修改、删除、清空会员权限购物车(点餐)管理添加菜品、查看购物车,修改、删除、清空会员权限个人中心历史订单、个人信息、数据统计会员权限

  • 建议统一URL访问格式:
  http://主机名:端口/应用名/视图名/函数名

  其中:index省略不写,web前台应用名省略不写。
  • 视图中的函数命名格式:
  • index() —- 浏览信息
  • add() —- 加载添加界面
  • insert() —- 执行添加
  • delete() —- 执行删除(路由中使用del)
  • edit() —- 加载编辑界面
  • update() —- 执行信息编辑

  • 如下参考格式:

缩进
* 不要使用 tab 缩进
* 使用任何编辑器写 Python,请把一个 tab 展开为 4 个空格
* 绝对不要混用 tab 和空格,否则容易出现 IndentationError

空格
* 在 list, dict, tuple, set, 参数列表的 , 后面加一个空格
* 在 dict 的 : 后面加一个空格
* 在注释符号 # 后面加一个空格,但是 #!/usr/bin/python 的 # 后不能有空格
* 操作符两端加一个空格,如 +, -, *, /, |, &, =
* 接上一条,在参数列表里的 = 两端不需要空格
* 括号((), {}, [])内的两端不需要空格

空行
* function 和 class 顶上两个空行
* class 的 method 之间一个空行
* 函数内逻辑无关的段落之间空一行,不要过度使用空行
* 不要把多个语句写在一行,然后用 ; 隔开
* if/for/while 语句中,即使执行语句只有一句,也要另起一行

换行
* 每一行代码控制在 80 字符以内
* 使用 \ 或 () 控制换行.

命名
* 使用有意义的,英文单词或词组,绝对不要使用汉语拼音
* package/module 名中不要出现 -

import
* 所有 import 尽量放在文件开头,在 docstring 下面,其他变量定义的上面
* 不要使用 from foo imort *
* import 需要分组,每组之间一个空行,每个分组内的顺序尽量采用字典序,分组顺序是:
    * 标准库
    * 第三方库
    * 本项目的 package 和 module

注释
* 文档字符串 docstring, 是 package, module, class, method, function 级别的注释,可以通过 * __doc__ 成员访问到,注释内容在一对 """ 符号之间
* function, method 的文档字符串应当描述其功能、输入参数、返回值,如果有复杂的算法和实现,也需要写清楚
不要写错误的注释,不要无谓的注释

异常
* 不要轻易使用 try/except
* except 后面需要指定捕捉的异常,裸露的 except 会捕捉所有异常,意味着会隐藏潜在的问题
* 可以有多个 except 语句,捕捉多种异常,分别做异常处理
* 使用 finally 子句来处理一些收尾操作
* try/except 里的内容不要太多,只在可能抛出异常的地方使用,

Original: https://blog.csdn.net/oliver3455/article/details/125530316
Author: oliver3455
Title: 04点餐项目的架构设计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/748948/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球