Last active
December 20, 2015 15:29
-
-
Save swpu-lee/6154160 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
我对项目目录结构的理解: | |
1、必须不交叉依赖,而应该是树状依赖 | |
2、拥有较好的可读性和可管理性。 | |
3、在可能的前提下,提高部分模块的可移植性 | |
4、尽量简单,不搞层级太深,减少目录数量 | |
基于flask建议的结构,结合实际工作中遇到的问题,总结了如下结构。 | |
HelloApp/ | |
__init__.py | |
build.sh # 构建项目依赖环境的脚本,这里我用到了virtualenv | |
requirement.txt # 使用pip去安装的文件。 | |
env/ #用virtualenv构建的虚拟环境,跑项目就是使用这里的python,如:env/bin/python applications/hello_app.py | |
... | |
applications/ | |
__init__.py | |
hello_app.py | |
configs/ | |
__init__.py | |
settings.py # from site_settings.py import * | |
site_settings.py # 用于配置ip、端口等信息 | |
promise.py # 常量约定,可以和配置一样写。(我把一个大神的Const改了一下,把所有的配置全改成类+类属性了,好看一点) | |
errors.py # 错误码定义 | |
utils/ # 毫无依赖的工具包,可以随意移植到任意项目 | |
__init__.py | |
paginatior.py | |
converter.py | |
objects.py | |
rest.py | |
site_utils/ # 依赖于configs的工具包,可能还会依赖于utils | |
__init__.py | |
error.py | |
view_base.py | |
decorators.py #会在这里面写一些装饰器,比如check_user_login之类的 | |
captcha.py # 这里captcha因为要用到cache,所以必须依赖configs配置,cache地址啥的信息在配置里 | |
views/ | |
__init__.py | |
user.py | |
test/ | |
__init__.py | |
static/ # 静态文件存放文件夹。如果项目没有静态文件,就不需要了 | |
templates/ # 模板存放文件夹。如果项目没有模板,就不需要了 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment