Web2py未显示编辑或更新

时间:2014-01-24 05:23:00

标签: forms checkbox edit web2py

我正在尝试使用SQLFORM.grid来显示项目的查询,并且有一个布尔字段将显示为表单上的复选框。我希望能够检查我想要移动的项目的复选框。提交时,它会对数据库进行更新,并执行将所选项目的图像文件复制到文件夹中的特殊功能。

我的SQLFORM.grid正常显示复选框,但我根本无法选中复选框。同样,我不知道我将如何拥有它,以便选定的项目将经历这两个步骤。

我甚至在SQLFORM.grid上设置了editable = True 同时设置db.items.isMoved.writeable = True

以下是我的代码:

模型:

db.define_table('items', 
    Field('itemNumber', 'id'), Field('numSold', 'integer'),                          
    Field('imageName', 'string'), Field('isMoved','boolean')
    Field('timeStamp', 'datetime'))

控制器:

class VirtualProfitField(object):
  def profit(self):
    return "$" + str(self.items.price * self.items.numSold)

db.items.virtualfields.append(VirtualProfitField())

def display_form():
  default_sort_order = [ebaydb.items.numSold]
  db.items.timeStamp.readable = False
  db.items.imageName.readable = False

  query = (db.items.numSold > 100) 
  default_sort_order = [db.items.numSold]
  form = SQLFORM.grid(query=query, orderby=default_sort_order, create=True, 
    deletable=True, editable=True, maxtextlength=64, paginate=25, csv=False,
    links=[dict(header=T('Profit'),body=lambda row: row.profit), 
    dict(header=T('Image'),
    body = lambda rowB: A(IMG(_src=URL('static', "images/images/"+ 
    rowB.imageName.replace('\\','/')), _width=50, _height=50), _href=URL('static', 
    "images/images/"+ rowB.imageName.replace('\\','/'))))]

   if len(request.args) > 1 and ('edit' in request.args):
     db.items.timeStamp.readable = False
     db.items.imageName.writeable = False

   return dict(form=form)

“编辑”或“更新”按钮从不显示。

同样,我在哪里以及如何编码将所选文件移动到另一个文件夹? 我能够获取已检查项目的itemNumber和imageName吗?

非常感谢你的帮助!!

约翰

PS:我感觉到安东尼的存在......

1 个答案:

答案 0 :(得分:5)

默认情况下user_signature=True,这意味着除非用户已登录,否则将禁用创建,编辑和删除。如果您希望未登录的用户能够完成这些操作,请执行{{1} }。