我在我的控制器中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}}
然而,问题是它不起作用。我选择了一张图片,但点击“提交”后,没有任何变化。
任何帮助表示赞赏!
答案 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())
这让我成功上传了图片!