我正在使用以龙卷风为核心的mongodb数据库后端。我目前只有我的主文件中有一堆处理程序。它是一个多用户webapp,在用户之间有链接,也就是“朋友”系统。
My current structure is:
templates/
static/
main.py (contains all handlers)
user_actions.py
auth_actions.py
.
.
.
bar_actions.py
大多数处理程序对应于actions文件。例如,友元请求处理程序对应于user_actions.py中的函数,该函数接受数据库和userids作为参数。我觉得这不是这么大项目的最佳布局。我应该有某种类型的模型文件包含当前用户的模型,或者这只是多余的。我目前正在将当前用户存储为cookie中的字典。
答案 0 :(得分:6)
如果你有很多处理程序包含每个处理程序的代码,你可以将它们分解成自己的文件,并将它们放在应用程序内的handlers
目录中。
Tornado没有强制执行结构,因此我会查看示例龙卷风项目和github上的任何开源龙卷风项目,以了解其他人的结构。
我只制作了1个龙卷风项目,但我在网上找到的例子使用了我在上面概述的惯例:
├── app.py
├── common
│ ├── __init__.py
│ └── utils.py
├── custom_settings.py
├── handlers
│ ├── user_handler.py
│ ├── auth_handler.py
│ └── __init__.py
├── __init__.py
├── requirements.txt
├── scripts
├── supervisord.conf
└── tests
├── __init__.py
├── test_common.py
└── test_handlers.py