Web2py - 上传图片

时间:2017-03-13 12:38:52

标签: python web2py

我在我的控制器中default.py

def images():
    record = db.images(request.args(0))
    form = SQLFORM(db.images, record, deletable=True,
                  upload=URL('download'), fields=['image'])

    if request.vars.image!=None:
#         form.vars.image_filename = request.vars.image.filename
       form.vars.image_filename = "picture_spark_"+str(auth.user.id)
#             form.vars.image_filename = "default"
    if form.process().accepted:
        response.flash = 'form accepted'
    elif form.errors:
        response.flash = 'form has errors'
    return form

def dashboard():
    return dict(img_upload_form=images())

在我看来dashboard.html,我使用的形式如下:

{{=img_upload_form}}

然而,问题是它不起作用。我选择了一张图片,但点击“提交”后,没有任何变化。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

要解决这个问题, 我在print record控制器中添加了default.py行。

我观察到的是输出为None

我的网址是http://127.0.0.1:8000/Spark/default/home。从本质上讲,home.html会对dashboard.html进行AJAX调用。

现在,在我的控制器中,我将其定义如下:

def dashboard():
    return dict(img_upload_form=images())

我需要做的是返回home.html

的相同表单
def home():
    return dict(img_upload_form=images())

这让我成功上传了图片!