Python Web2py-上载图像
我的控制器中有默认值.py:Python Web2py-上载图像,python,web2py,Python,Web2py,我的控制器中有默认值.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_filenam
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}}
然而,问题是它不起作用。我选择了一个图像,但单击“提交”后,没有任何更改
感谢您的帮助 要解决这个问题,
我在我的default.py
控制器中添加了一个print record
行
我观察到的是,输出是None
我的URL是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())
这让我能够成功上传图片 要解决这个问题,
我在我的default.py
控制器中添加了一个print record
行
我观察到的是,输出是None
我的URL是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())
这让我能够成功上传图片 你说没有变化是什么意思?是否要使用图像记录ID作为第一个URL参数访问仪表板URL(即编辑现有记录)?否则,您将只插入新的图像记录。最初,我为应用程序中的所有用户添加了一张默认图片。所以,在这个场景中,我想我正在尝试“编辑”一个现有的图像。我所说的“无更改”是指:我选择图像,点击提交,页面刷新,没有更新。但是URL是什么?URL中是否有记录ID,表示您正在编辑现有记录而不是创建新记录?对,我理解您的意思。但是,URL中没有任何更改。我的URL是
http://127.0.0.1:8000/Spark/default/home
。选择图像并单击Submit后,它将变为http://127.0.0.1:8000/Spark/default/home#
没有变化是什么意思?是否要使用图像记录ID作为第一个URL参数访问仪表板URL(即编辑现有记录)?否则,您将只插入新的图像记录。最初,我为应用程序中的所有用户添加了一张默认图片。所以,在这个场景中,我想我正在尝试“编辑”一个现有的图像。我所说的“无更改”是指:我选择图像,点击提交,页面刷新,没有更新。但是URL是什么?URL中是否有记录ID,表示您正在编辑现有记录而不是创建新记录?对,我理解您的意思。但是,URL中没有任何更改。我的URL是http://127.0.0.1:8000/Spark/default/home
。选择图像并单击Submit后,它将变为http://127.0.0.1:8000/Spark/default/home#