打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python笔记:基于Django框架的项目架构程序设计

项目使用技术

  • 基于Python语言,版本:>=3.5及以上。

  • 使用Django框架,版本:1.11.11的LTS版本。

  • MySQL数据库

  • 连接数据库:pymysql=0.8.0

  • 图像处理: Pillow=5.0.0

  • Web前端技术:HTML、CSS、JavaScript和Jquery等

项目的目录结构

本次项目共计四个应用:myadmin、web、common和ueditor

/d_shop/    ├── manage.py    ├── d_shop    │   ├── __init__.py    │   ├── settings.py    │   ├── urls.py    │   └── wsgi.py    ├── common 公共应用    │   ├── admin.py    │   ├── apps.py    │   ├── __init__.py    │   ├── shopmiddleware.py 自定义的中间件    │   ├── migrations    │   ├── models.py 网站前后台的共用Model类    │   ├── tests.py    │   └── views.py    ├── myadmin 网站后台应用    │   ├── admin.py    │   ├── apps.py    │   ├── __init__.py    │   ├── migrations    │   ├── views    │   │    ├── index.py 后台主视图    │   │    ├── users.py 会员管理视图    │   │    ├── type.py  商品类别管理视图    │   │    ├── goods.py 商品管理视图    │   │    └── orders.py 订单管理视图    │   ├── models.py    │   ├── tests.py    │   └── urls.py    │    ├── web 网站前台应用    │   ├── admin.py    │   ├── apps.py    │   ├── __init__.py    │   ├── migrations    │   ├── views    │   │    ├── index.py web前台主视图    │   │    ├── users.py 会员操作视图    │   │    ├── cart.py  购物车管理视图    │   │    └── orders.py 订单处理视图    │   ├── models.py    │   ├── tests.py    │   └── urls.py    │    ├── ueditor 百度编辑器(富文本编辑器)    │   ├── __init__.py    │   ├── UE    │   ├── controller.py    │   ├── msyhdb.ttf    │   ├── ueconfig.json    │   └── urls.py    │    ├── templates 模板目录    │    ├── myadmin 后台模板总目录    │    │    ├── users/ 后台会员管理    │    │    │    ├── index.html             │    │    │    ├── add.html             │    │    │    ├── edit.html             │    │    │    ├── repass.html             │    │    ├── type/ 后台类别管理模板    │    │    │    ├── index.html             │    │    │    ├── add.html             │    │    │    ├── edit.html             │    │    ├── goods/ 商品信息管理模板    │    │    │    ├── index.html             │    │    │    ├── add.html             │    │    │    ├── edit.html              │    │    ├── orders/ 订单信息管理模板    │    │    │    ├── index.html                     │    │    │    ├── edit.html             │    │    ├── index.html    │    │    ├── login.html    │    │    ├── base.html    │    │    ├── info.html    │    │    │    ├── web 前台模板目录    │    │    ├── base.html    │    │    ├── index.html    │    │    ├── list.html    │    │    ├── detail.html    │    │    ├── login.html    │    │    ├── signup.html    │    │    └── ......    │    ├── static 静态资源目录    │    ├── myadmin 后台静态资源     │    │    ├──....    │    │    ├──....    │    │    │    │    │    ├── web 网站前台静态资源    │    │    ├──....    │    │    ├──....

项目模块结构

1 ) 网站后台应用的模块操作说明

网站后台模板采用github上提供的一个简洁界面,网址:https://github.com/alecfan/mstp_17_akira

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

2 ) 网站前台应用的模块操作说明

模块操作权限
商品展示商品首页展示、列表页(搜索分页)、商品详情页
购物车管理添加商品、查看购物车,修改、删除、清空
前台会员管理注册界面、执行注册,登录界面,执行登录,验证码、退出
订单处理订单处理界面,确认订单界面、执行订单处理会员权限
会员中心管理个人信息界面、执行个人信息修改,查看订单,订单详情、处理订单会员权限

程序结构

  • 建议统一URL访问格式

    http://主机名:端口/应用名/视图名/函数名其中:index省略不写,web前台应用名省略不写。
  • 视图中的函数命名格式

    • index() ---- 浏览信息

    • add() ---- 加载添加界面

    • insert() ---- 执行添加

    • delete() ---- 执行删除(路由中使用del)

    • edit() ---- 加载编辑界面

    • update() ---- 执行信息编辑

项目中的编码规范

  • 遵循良好的编码风格,可以有效的提高代码的可读性,降低出错几率和维护难度。

  • 在团队开发中,使用(尽量)统一的编码风格,还可以降低沟通成本。

  • 网上有很多版本的编码规范介绍,基本上都是遵循 PEP8 的规范:具体详见:https://www.python.org/dev/peps/pep-0008/

  • 如下参考格式:

    缩进* 不要使用 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 子句来处理一些收尾操作
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python web开发之Django视图详解
django怎么重新迁移文件
Django开发常用
Django Book 中文版
Django网站实战——手把手带大家制作一个经典的网站
【我问Crossin】Python web 该如何入门?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服