gpt4 book ai didi

web2py - 清理 web2py 我的 Controller

转载 作者:行者123 更新时间:2023-12-04 11:29:35 25 4
gpt4 key购买 nike

我的 Controller 在我的 web2py 应用程序中变得有点杂乱,我想将功能移动到另一个地方。

我最初考虑将它们移动到模块中,但有时我会访问数据库,并在 db.py 中设置其他参数(我用于用户 ID,现在用于日期等)。

有没有一种干净的方法可以将这些函数移动到一个新文件,同时仍然可以访问我需要的变量?我不反对 from db import me, now 之类的东西

最佳答案

您的 Controller Action (即出现在 URL 中的 Action )必须是在 Controller 文件中定义的函数(即,您不能将它们移动到模块中)。但是,如果您的 Controller 中有一些不是操作的功能,您可以将它们移动到模块中。假设您将从模型或 Controller 调用这些函数,您可以简单地传递您的 db , me , 和 now将这些函数作为参数的对象。另一种选择是将它们添加到线程本地 current对象,可以从模块中访问。为此:

在模型中:

from globals import current
current.app.db = db
# etc.

在一个模块中:
from globals import current

def func(*args):
db=current.app.db
# etc.

关于web2py - 清理 web2py 我的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6810282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com