我想使用webpy构建应用程序,但不希望我的所有源代码都在一个大的.py
文件中。但是,将类(index
,login
等)拆分为多个文件会导致访问session
和db
个对象时出现问题。
这种东西的最佳布局是什么?理想情况下,我希望每页一个文件,因此每个文件描述一个类,但是如何分享db
和session
?
答案 0 :(得分:0)
我不知道具体的web.py
,但在我的项目中,我定义了一个db.py
(或类似的模块),它定义了如何访问数据库连接。从那里我导入例如一个Session()
工厂,它给我会话对象,并在我需要的所有模块中执行此操作:
from db import Session
def some_function():
session = Session()
some_obj = session.get(some_id)
在db.py
中将封装您选择的ORM框架的数据库访问部分。
答案 1 :(得分:0)
我的项目我使用utils.py
文件,其中包含我的代码中使用的许多实用程序方法的代码,因此我使用此模块来保存session
对象。允许我在任何需要的地方访问会话。
代码保持这样:
import utils
class Login(object):
def GET(self):
if utils.session.login:
return "OK"
else:
return "Please login."