带参数的Web2py控制器?

Nic*_*ina 10 python web2py

我正在使用Web2py框架构建一个应用程序...我不想使用请求对象来获取所有的查询字符串参数,而是我想用命名参数构建我的控制器并让路由器解压缩查询字符串(或表格数据)字典进入命名参数并调用我的控制器.

而不是控制器方法

create_user():
Run Code Online (Sandbox Code Playgroud)

我将使用全局request()对象并查看变量列表......我宁愿相反

create_user(first_name, last_name, email):
Run Code Online (Sandbox Code Playgroud)

就像我在其他MVC平台上看到的那样.

这已经可以在Web2py中使用吗?或者有插件吗?或者我需要自己添加吗?

Cal*_*ngh 11

不.如书中所述,表格的URL

http://127.0.0.1:8000/a/c/f.html/x/y/z?p=1&q=2
Run Code Online (Sandbox Code Playgroud)

映射到应用程序(文件夹)a,控制器(文件)c.py,函数f和其他参数必须从请求对象解压缩为

x, y, z = tuple(request.args)
p = request.vars['p'] # p=1
q = request.vars['q'] # q=2 
Run Code Online (Sandbox Code Playgroud)

此外,web2py专门检测有效的控制器函数作为那些没有参数的函数.AFAICR,这与Django相反,Django检测到有效的控制器函数是至少有一个参数的函数.