python - How to filter all selected options? -
i have these 5 options pull down menues:
<select name="image_style"> <select name="image_background"> <select name="image_activity"> <select name="image_merchandise"> <select name="image_type">
i want selected ones filtered. try this:
image_background = self.request.get("image_background") image_activity = self.request.get("image_activity") image_merchandise = self.request.get("image_merchandise") image_type = self.request.get("image_type") items = image.all() if image_style != "none": items.filter("image_tags =", image_style) elif image_background != "none": items.filter("image_tags =", image_background) elif image_activity != "none": items.filter("image_tags =", image_activity) elif image_merchandise != "none": items.filter("image_tags =", image_merchandise) elif image_type != "none": items.filter("image_tags =", image_type) else: self.response.out.write(""" select tags sort images""") item in items: self.response.out.write(""" <a href="%s"><image src="%s" height="110"> </a> """ % (item.image_url, item.image_source_url))
but in case, if image_style
not "none"
other filters not execute. how formulate selections executed. thanks.
build list tags
of options, filter out non-selected (see lambda) , check if resulting list empty or not.
selects = filter(lambda x: x != "none", [image_style, image_background, image_activity, image_merchandise, image_type] ) if selects: choice in selects: items.filter("image_tags =", choice) else: self.response.out.write(""" select tags sort images""")
Comments
Post a Comment