Hello, folks. I started back at the top of the manual again and I am understanding much more by progressing slowly and with copious notes. So far, so good.
However, I have come across a bit of a puzzling issue with the latter part of the "images" tutorial. After creating the dbases, uploading some images via appadmin, and then adding the app's core in default.py: def index(): images = db().select(db.image.ALL, orderby=db.image.title) return dict(images=images) def show(): image = db.image(request.args(0,cast=int)) or redirect(URL('index')) db.post.image_id.default = image.id form = SQLFORM(db.post) if form.process().accepted: response.flash = 'your comment is posted' comments = db(db.post.image_id==image.id).select() return dict(image=image, comments=comments, form=form) def download(): return response.download(request, db) And then creating the default/index.html: {{extend 'layout.html'}} <h1>Current Images</h1> <ul> {{for image in images:}} {{=LI(A(image.title, _href=URL("show", args=image.id)))}} {{pass}} </ul> And finally, the default/show.html: {{extend 'layout.html'}} <h1>Image: {{=image.title}}</h1> <center> <img width="200px" src="{{=URL('download', args=image.file)}}" /> </center> {{if len(comments):}} <h2>Comments</h2><br /><p> {{for post in comments:}} <p>{{=post.author}} says <i>{{=post.body}}</i></p> {{pass}}</p> {{else:}} <h2>No comments posted yet</h2> {{pass}} <h2>Post a comment</h2> {{=form}} When the app is called, it behaves as expected in every instance with one exception: I was figuring that, based on: <img width="200px" src="{{=URL('download', args=image.file)}}" /> When the image was displayed in the show.html view, that maybe it would be tagged with an embedded download link such that passing the mouse over the image would indicate a link and then clicking the image would trigger a download action to download the image. This does not occur. The app just displays the uploaded image with no apparent way to download it (aside from the usual right-click browser options). In fact, in looking at the app's structure, I can't see where the download action in the default.py controller is ever triggered, since all of that =URL('download', args=image.file)}} doesn't *appear* to cause any action with regard to the requested image which is being displayed. Through experimentation I discovered that I can indeed get a download action of the type which I *expected* to be triggered if I manually look up the name of the uploaded image file under applications/images/uploads/<filename> and then pass it to the download action myself in the address bar: http://localhost.../images/default/download/<filename> That's what I was expecting to happen when I clicked on the image (or was somehow otherwise directed to the download action), but apparently I was wrong to assume this...? In any case, how then does the download action get triggered if not by: <img width="200px" src="{{=URL('download', args=image.file)}}" /> ? Any pointers, corrections, directions for further reading, etc. would be sincerely appreciated. -- --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.