プロジェクトが技術を使用しています
- > = 3.5以上:Python言語のバージョンに基づいています。
- Djangoフレームワーク、バージョン:LTS版の1.11.11。
- MySQLデータベース
- データベースへの接続:pymysql = 0.8.0
- 画像処理:枕= 5.0.0
- Webフロントエンド技術:HTML、CSS、JavaScriptとjQueryのなど
プロジェクトのディレクトリ構造
4つのアプリケーションのプロジェクトの合計:myadminという、ウェブ、共通と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)ウェブサイトのバックグラウンドアプリケーションは、取扱説明書をモジュール
します。https:githubの、URLに利用できるシンプルなインターフェイスを使用してウェブサイトの背景テンプレート//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 子句来处理一些收尾操作 * try/except 里的内容不要太多,只在可能抛出异常的地方使用