def tagged_view(request, tag): """ Renders view for the tag passed in. :param request: http request :param tag: tag to view :return: rendered tag template """ posts = Tag.find_posts_for_tag(tag) #TODO: pass tag as GET parameter so spaces in url are not an issue(as opposed to slugifying tags) display_info_list=[] for post in posts: display_info_list.append(PostDisplayInfo(request.user.blog, post, Activity.find_activity_for_object(post.pk, ContentType.objects.get_for_model(Post)).activity_type)) context = {"tag":tag, "display_info_list":display_info_list} return render(request, "tagged.html", context)
def load_more_tagged_posts(request, tag): """ Asynchronously loads NUM_POSTS_TO_RETRIEVE more posts onto the current tag being viewed. :param request: xml http request :param tag: tag for which to retrieve posts :return: rendered posts template """ offset = int(request.GET["offset"]) NUM_POSTS_TO_RETRIEVE = int(request.GET["NUM_POSTS_TO_RETRIEVE"]) posts = Tag.find_posts_for_tag(tag)[offset:offset+NUM_POSTS_TO_RETRIEVE] display_info_list=[] for post in posts: display_info_list.append(PostDisplayInfo(request.user.blog, post, Activity.find_activity_for_object(post.pk, ContentType.objects.get_for_model(Post)).activity_type)) context = {"display_info_list": display_info_list} raw_template = loader.get_template("posts.html") rendered_template = raw_template.render(context) return HttpResponse(rendered_template, content_type='text/html')