Hi Dave, All,
          I found a solution - It was easy - 
wrote a new function that takes a parameter, called it in the view and it 
redirects to the required page. 

query = (db.fotoz.album_name == "%s" % request.args(0))



and have this 
<p> <a href="{{=URL(r=request, c='default', f='view_album', 
args=[allalbums[i].album_name])}}"    class="btn">View Album</a></p>


in view. 

That sends the argument to this function and displays the album. The only 
issue is with spaces in album names that dont work. 

Cheers, Rahul 

A few threads that helped... -
https://groups.google.com/forum/#!topic/web2py/WJtJ-QDemTM
http://stackoverflow.com/questions/9328126/web2py-connecting-to-the-correct-controller
https://groups.google.com/forum/#!topic/web2py/ICo5-yFgxmc




On Friday, June 20, 2014 10:24:42 AM UTC+5:30, Rahul wrote:
>
> Thanks! for replying Dave. While I am open to suggestions, I plan to 
> redirect the request such that as soon as the user clicks on any album 
> thumbnail - he gets redirected to a page (perhaps viewalbum.html) where all 
> images belonging to a particular album are listed. 
>
> Thanks, Rahul. 
>
> On Friday, June 20, 2014 12:31:14 AM UTC+5:30, Dave S wrote:
>>
>>
>>
>> On Wednesday, June 18, 2014 1:50:09 AM UTC-7, Rahul wrote:
>>>
>>>
>>> Hi All,
>>>       I am writing an image gallery in my app. I am stuck up here -
>>> I want to display images that belong to a particular album when I select 
>>> that album in the view. Although I am able to display albums in the view, 
>>> but cannot proceed further to display images belonging to that particular 
>>> albums after clicking the album (from the view).  
>>>
>>> here are the table in *db.py* - 
>>> db.define_table('photoalbum',
>>>     Field('reguser_id'),
>>>     Field('album_name'),
>>>     Field('short_description'),
>>>     )
>>>
>>> db.define_table(photos',
>>>     Field('reguser_id'),
>>>     Field('caption'),
>>>     Field('category', requires=IS_IN_SET(pix_cat)),
>>>     Field('description', 'text'),
>>>     Field('upload_photo', 'upload' , uploadfolder=request.folder + '
>>> static/uploads', default=0,  autodelete=True,), 
>>>     Field('album_name', requires=IS_IN_SET(albums)),
>>>     )
>>>
>>> I would think you want the last line to be a reference, like 
>>> Field('album_name', 
>>> 'reference photoalbum');
>>>
>>> Controller - *default.py *
>>>
>>> def myalbums():
>>>     
>>>     ## selects all albums
>>>     allalbums = db(db.photoalbum.reguser_id == session.logged_in_user_id
>>> ). select(db.photoalbum.album_name)
>>>     
>>>     # selects descriptions for all albums 
>>>     alldescriptions = db(db.photoalbum.reguser_id == session.
>>> logged_in_user_id). select(db.photoalbum.short_description)
>>>     
>>>     ## selects photos
>>>     allimages = db(db.photos.reguser_id == session.logged_in_user_id). 
>>> select(db.photos.upload_photo, db.photos.caption, db.photos.description, 
>>> cache=(cache.ram,20))
>>>     
>>>     return dict(allalbums=allalbums, alldescriptions=alldescriptions, 
>>> allimages=allimages) 
>>>
>>>
>>> Code in the view *myalbum.html*
>>> <!-- New Try -->
>>>
>>> {{for i in range(len(allalbums)):}}        
>>>         
>>>         <ul class="thumbnails">
>>>         <!-- Iterate over all images - --> 
>>>         <li class="span2">
>>>         <div class="thumbnail">
>>>         <!-- <img data-src="holder.js/300x200" alt="300x200" style=""> 
>>>   -->
>>>                 
>>>         {{=(A(IMG(_src=URL(r=request,c='static\images',f='vimage.jpg')),
>>> _href=URL (r=request,c='default', f='myalbums', args=[allalbums[i].
>>> album_name]) ))}}
>>>             
>>>         
>>>         <div class="caption">        
>>>         <h5>{{=allalbums[i].album_name}}</h5>
>>>         <p>{{=alldescriptions[i].short_description}}</p>
>>>         
>>>         
>>>         </div>
>>>         
>>>         </div>
>>>         </li>
>>>            
>>>            {{pass}}    
>>>            {{pass}}  
>>>
>>>
>>> Here I can get the album names in the view but when I click on it, it 
>>> should query all the photos belonging to that particular (as specified in 
>>> args) albumname and show all images in another page or a carousel that I 
>>> would create. 
>>>
>>>
>> Do you want a redirect, or to have multiple pages open at a time?
>>
>> In either case, don't you need a link (to another controller) or an 
>> action (from a form) that would query for somethng like 
>> db(photos.album_name == var.album_name).select() ?
>>
>> I'm not a dab hand at this; I'm still bouncing back and forth in the 
>> manual as I type this, 
>> <
>> http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#One-to-many-relation
>> >
>> but there's a bunch of examples in the recent posts to this list.
>>
>> Grabbing one thread rather quickly, this one might have some pertinence:
>> <https://groups.google.com/d/msg/web2py/nDBOL7w6qB4/3181A5kRWSAJ>
>>
>>  
>>
>>> Again - The image vimage.jpg specified in the view is a static image, 
>>> can the thumbnail image representing a particular album be created from an 
>>> image from within the album ? Please suggest ..
>>>
>>> I've read about the thumbnail processing in the book, and a couple of 
>> examples in the groups since last summer, but haven't actually tried it.  
>> So I'll defer to others, other than to say that "seems possible".
>>
>> /dps
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
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/d/optout.

Reply via email to