web development blog

> 编程 用py的bottle框架开发的目录设计

在使用python的bottle应用于实际开发,应用的目录该如何组织?

这个问题,不同的人来设计,都会有不同的结果。这里我就根据自己的开发习惯,组织了一个和自己平时常用的php应用目录一样的python版,和大家分享交流。

 

我是用apache + wsgi的方式跑py bottle应用。在doc cmd窗口可以用命令tree命令输出文件夹结构,很方便。

"""
tree /?

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

   /F   显示每个文件夹中文件的名称。
   /A   使用 ASCII 字符,而不使用扩展字符。

"""

#开发目录设计
"""
wwwroot
│
│  Fly.py
│  proxy.wsgi
│
├─fly
│  │  web.py
│  │  __init__.py
│  │
│  ├─config
│  │      setting.py
│  │      __init__.py
│  │
│  ├─extensions
│  │      MySQLet.py
│  │      __init__.py
│  │
│  ├─modules
│  │     Admin.py
│  │     Export.py
│  │     __init__.py
│  │
│  └─theme
│      └─default
│          ├─Admin
│          │      index.tpl
│          │
│          └─Export
│                  index.tpl
│
├─static
│
└─uploads
"""

 

目录设计意图

  • Fly.py: 是应用的入口文件,只是导入了fly/web.py的app应用
  • proxy.wsgi: 是apache服务器和我们的py应用程序的连接的接口文件
  • fly目录: 是应用核心目录,也是我个人框架的标识
  • web.py: 是载入config/setting.py配置文件,并组织(mount)各个应用模块,如前台(Export),后台管理(Admin)等
  • config目录: 是配置文件目录,setting.py就是数据库,模板等配置
  • extensions目录: 是扩展目录,如Mysql数据库操作类
  • modules目录: 对应于web.py模块,是bottle的实例,实现不同模块功能
  • theme目录: 是模板views目录,默认是default目录,方便以后扩展多主题
  • static目录: 是css和js,images等资源目录
  • uploads目录: 是web上传文件保存目录

 

总结:因为bottle是很纯的框架,只提供一些基本的web功能,也有一些额外的扩展可以使用,官方称之为插件。这里有可用插件列表,和php免费开源相比真的不多。

-留言评论-

  • 留言载入中...

-拍砖-

 

首页|前端技术|编程/php|生活|关于我

Copyright © 2012 wmhfly.com