python - Web2py - 尝试从没有 'for' 句子的 rows 对象获取值

标签 python web2py

我正在尝试编辑 Controller 中用户的组成员身份:

def change_membership():

if request.vars.id:

    row = db(db.auth_membership.user_id == request.vars.id).select()
    id = row[0].id  
    form = SQLFORM(db.auth_membership,
                               id,
                               fields=['group_id'],
                               _action=URL()
                               )
if form.process().accepted:
    ...redirect back to user list

if form.errors:
    response.flash = 'form has errors'

return dict(form=form)

但是它不起作用,我得到一个: 列表索引超出范围

我知道只能得到一行,但我不明白为什么它看起来是空的..

提前致谢
克里斯蒂安

最佳答案

太棒了!

非常感谢安东尼和马西莫。

这节省了我的时间,现在一切都可以使用 request.get_vars.id 而不是 request.vars.id 进行

引用:

2012/8/22 安东尼写道: 是的。请注意,web2py 将 GET 变量存储在 request.get_vars 中,将 POST 变量存储在 request.post_vars 中。它将 GET 和 POST 变量存储在 request.vars 中。如果 get_vars 和 post_vars 都有同名的变量,它会将它们的值放入 request.vars 内的列表中。只需更改您的代码以使用 request.get_vars.id 而不是 request.vars.id。

2012年8月22日马西莫·迪·皮耶罗写道: 你有两个 id 字段。一份在 request.get_vars.id 中(来自 url),一份在 request.post_vars.id 中(来自表单提交)。

关于python - Web2py - 尝试从没有 'for' 句子的 rows 对象获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064086/

相关文章:

python - 异步事件循环如何知道等待资源何时准备就绪?

web2py - Web2Py 引用手册

python - 从 JSON 字符串中转义数据的任何巧妙方法?

python - 带有 web2py 的 SQLFORM.grid 的多行标题

python - numpy矩阵对角线填充交替值

python - 特定调用类别的第一次调用与同一调用类别的后续调用之间的调查分数差异

python - 无法读取搜索索引

python - 箱线图中没有异常值检测

python - web2py 中使用 import 进行函数调用

python - web2py:链接执行函数而不导航到不同的页面(回调?)