【发布时间】:2013-12-26 18:39:29
【问题描述】:
我正在尝试做一些简单且记录良好的事情,但它不适用于我的网络应用程序。
基本上我想为上传的文件保存一些额外的属性,比如原始文件名、用户的电子邮件以及上传日期。
现在按照 web2py 文档,我创建了这个提交视图。它几乎是从文档部分here逐字复制的
我有一个控制器 data.py
def submit():
import datetime
form = SQLFORM(db.uploads, fields=['up_file'], deletable=True)
form.vars.up_date = datetime.datetime.now()
form.vars.username = auth.user.email
if request.vars.up_file != None:
form.vars.filename = request.vars.up_file.filename
if form.process().accepted:
redirect(URL('data', 'index'))
elif form.errors:
response.flash = "form has errors"
和我的 db.py 摘录:
db.define_table('uploads',
Field('username', 'string'),
Field('filename', represent = lambda x, row: "None" if x == None else x[:45]),
Field('up_file', 'upload', uploadseparate=True, requires=[IS_NOT_EMPTY(), IS_UPLOAD_FILENAME(extension=ext_regex)]),
Field('up_date', 'datetime'),
Field('up_size', 'integer', represent= lambda x, row: quikr_utils.sizeof_fmt(x) ),
Field('notes', 'text'))
目前验证似乎没有做任何事情,当我提交我的函数时,文件名由于某种原因没有被保存,并且我在其他地方收到错误,因为值为 None
【问题讨论】: