def export(request): # Modified : Non-admin user can export data #if not request.user.is_staff: # return HttpResponseNotFound() t = loader.get_template('admin/export.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=[''] context['current_user'] = request.user context['page_export'] = "selected" start_date=request.GET.get('start','') end_date=request.GET.get('end','') now = dt.datetime.now().isocalendar() this_week_start,this_week_end = get_week_days(now[0],now[1]) if start_date == '': start_date=this_week_start.strftime("%Y-%m-%d") if end_date == '': end_date=this_week_end.strftime("%Y-%m-%d") context['start_date']=start_date context['end_date']=end_date return HttpResponse(t.render(context))
def detail_event(request, event_id): t = loader.get_template('event_detail.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_event'] = "selected" context['side_list']=['event_calendar'] context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) try: user = User.objects.get(username=request.user.username) username = request.user.username username +="," except Exception as e: print str(e) return HttpResponse(t.render(context)) query_type = Q(host=user) | Q(invited_users__contains=username) | Q(is_public=True) try: events = Event.objects.filter(query_type,is_deleted=False,id=event_id) context['event']=process_events(events, user)[0] except Exception as e: print str(e) context['error_message'] = 'You cannot access to this event.' pass return HttpResponse(t.render(context))
def main(request, keyword): t = loader.get_template("search.html") context = RequestContext(request) my_utils.load_basic_info(request, context) keyword = my_utils.remove_special(keyword) context["keyword"] = keyword if keyword != "": context["feeds"] = search_feeds(request, keyword) context["topics"] = search_topics(request, keyword) context["files"] = search_files(request, keyword) context["locations"] = search_locations(request, keyword) context["members"] = search_members(request, keyword) context["keyword"] = keyword context["search_length"] = ( len(context["feeds"]) + len(context["topics"]) + len(context["files"]) + len(context["locations"]) + len(context["members"]) ) else: context["feeds"] = list() context["topics"] = list() context["files"] = list() context["locations"] = list() context["members"] = list() context["search_length"] = 0 return HttpResponse(t.render(context))
def overview(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/overview.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['load_type']='me' context['side_list']=[''] context['current_user'] = request.user context['page_overview'] = "selected" now = datetime.now() year,month,day = now.year, now.month, now.day start_time = dt.date(year, month, day) - dt.timedelta(6) end_time = dt.date(year, month, day) + dt.timedelta(1) context['user_length'] = UserProfile.objects.filter(is_deactivated=False).count() context['feed_length'] = Message.objects.filter(is_deleted=False).count() today_start = dt.date(year, month, day) today_end = dt.date(year, month, day) + dt.timedelta(1) context['feed_today_length'] = Message.objects.filter(is_deleted=False, reg_date__range=(today_start,today_end)).count() context['topic_length'] = Topic.objects.filter(topic_name__gt="").count() context['file_length'] = File.objects.filter(is_attached=True).count() context['recent_messages'] = Message.objects.filter(is_deleted=False).order_by("-reg_date")[:5] context['recent_users'] = UserLoginHistory.objects.all().order_by("-login_date")[:5] return HttpResponse(t.render(context))
def tab(request): t = loader.get_template("tab.html") context = RequestContext(request) my_utils.load_basic_info(request, context) context["side_list"] = [""] context["page_tab_user"] = "******" tabs = Tab.objects.all() user_tabs = list() for tab in tabs: try: if tab.is_public: user_tabs.append(tab) tab_user = TabUsers.objects.filter(tab=tab, user=request.user).count() if tab_user is not 0: user_tabs.append(tab) except Exception as e: print e paginator = Paginator(user_tabs, 10) page = request.GET.get("page", 1) try: context["tabs"] = paginator.page(page) except PageNotAnInteger: context["tabs"] = paginator.page(1) except EmptyPage: context["tabs"] = paginator.page(paginator.num_pages) context["index_info"] = my_utils.get_index_list(context["tabs"].number, paginator.num_pages) return HttpResponse(t.render(context))
def topic(request): t = loader.get_template('topic.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) context['side_list']=['search_topic'] my_utils.prepare_search_topic(context) context['page_topic'] = "selected" context['topics']=list() context['popular_topics'] = Topic.objects.filter(reference_count__gt=0,topic_name__gt='').order_by("-reference_count")[:20] # try: # topics = # except: # pass try: keyword = request.GET.get('q', '') query_type = Q() if keyword is not '': print keyword query_type = Q(topic_name__istartswith=keyword) search_index = request.GET.get('index', '') print search_index if search_index is not '': if search_index in map(chr, range(65, 91)): query_type = Q(topic_name__istartswith=search_index) elif search_index == 'number': query_type = Q(topic_name__gt="0",topic_name__lt="9") else: this_index,next_index=my_utils.next_search_index(search_index) query_type = Q(topic_name__gt=this_index, topic_name__lt=next_index) topics = Topic.objects.filter(query_type, topic_name__gt='',reference_count__gt=0).order_by('topic_name') paginator = Paginator(topics, 15) page = request.GET.get('page', 1) try: context['topics'] = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. context['topics'] = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. context['topics'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['topics'].number, paginator.num_pages) except Exception as e: print str(e) return HttpResponse(t.render(context))
def topic_detail(request,topic_id): t = loader.get_template('topic_detail.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) print context['user_favorite_topics'] context['side_list']=['topic_detail'] context['topic']=list() context['topic'] = get_object_or_404(Topic,id=int(topic_id)) context['page_topic'] = "selected" context['load_type']='topic#' + str(context['topic'].id) context['topic_name']=context['topic'].topic_name context['topic_id']=context['topic'].id context['topic_favorited']=False for favorite in context['user_favorite_topics']: if context['topic_id'] == favorite['id']: context['topic_favorited']=True context['related_users']=my_utils.get_related_users(context['topic'].topic_name) return HttpResponse(t.render(context))
def detail_poll(request, poll_id): t = loader.get_template('poll_detail.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_poll'] = "selected" context['side_list']=[''] context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) try: poll = Poll.objects.filter(is_deleted=False,id=poll_id)[0] try: member_profile = UserProfile.objects.get(user=poll.author) poll.author.profile = member_profile try: poll.author.picture = member_profile.picture.url except: poll.author.picture = "/media/default.png" except: pass try: comments = PollComment.objects.filter(poll=poll, is_deleted=False).order_by('reg_date') for comment in comments: author_profile = UserProfile.objects.get(user=comment.author) try: comment.author_picture = author_profile.picture.url except: comment.author_picture = "/media/default.png" poll.comments = comments except: pass try: options = PollItem.objects.filter(poll=poll) for option in options: try: option.value = PollAnswer.objects.filter(answer=option).count() except: pass try: option_answered = PollAnswer.objects.filter(answer=option, answerer=request.user).count() if option_answered: option.checked = True else: option.checked = False except: pass poll.options = options except: pass context['poll'] = poll except Exception as e: print str(e) pass return HttpResponse(t.render(context))
def main(request): t = loader.get_template('location.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=[''] context['page_location'] = "selected" return HttpResponse(t.render(context))
def new(request): t = loader.get_template('event_new.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_event'] = "selected" context['side_list']=['event_calendar'] context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) return HttpResponse(t.render(context))
def user(request, username): t = loader.get_template('profile.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=['user_profile'] my_utils.load_side_profile_info(username, context) return HttpResponse(t.render(context))
def favorite(request): t = loader.get_template('favorite.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_favorite']='selected' context['side_list']=['user_profile'] my_utils.load_side_profile_info(request.user.username, context) return HttpResponse(t.render(context))
def dashboard(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/dashboard.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=[''] context['current_user'] = request.user context['page_dashboard'] = "selected" members = User.objects.filter(is_active=True) members_list = list() date_before = request.GET.get('type', 7) time = now_datetime() - dt.timedelta(int(date_before)) if int(date_before) is 30: context['month'] = 'selected' else: context['week'] = 'selected' context['queries'] = 'type=' + str(date_before) failers_list = list() for member in members: try: item = dict() item['username'] = member.username item['last_name'] = member.last_name item['id'] = member.id count = Message.objects.filter(is_deleted=False,author=member,reg_date__gt=time).count() item['feeds'] = count count2 = Comment.objects.filter(is_deleted=False,author=member,reg_date__gt=time).count() item['comments'] = count2 item['score'] = count + count2 * 0.5 members_list.append(item) if item['score'] == 0.0: failers_list.append(item) except: pass members_list = [y for (x,y) in sorted([(i['score'],i) for i in members_list], reverse=True)] context['failers'] = failers_list paginator = Paginator(members_list, 10) page = request.GET.get('page', 1) try: context['members'] = paginator.page(page) except PageNotAnInteger: context['members'] = paginator.page(1) except EmptyPage: context['members'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['members'].number, paginator.num_pages) return HttpResponse(t.render(context))
def invite(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/invite/invite.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=[''] context['current_user'] = request.user context['page_invite'] = "selected" return HttpResponse(t.render(context))
def authority(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/authority.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=[''] context['current_user'] = request.user context['page_authority'] = "selected" try: category = request.GET.get('category','') query_type = Q() if category == '1': context['show_staff']='selected' query_type = Q(user__is_staff=True, is_deactivated=False) elif category == '2': context['show_deactivated']='selected' query_type = Q(is_deactivated=True) else: context['show_user']='******' query_type = Q(user__is_staff=False, is_deactivated=False) members = UserProfile.objects.filter(query_type & ~Q(user = request.user), user__is_active=True).order_by('user__username') members_list = list() for member in members: try: try: member.picture = member_profile.picture.url except: member.picture = "/media/default.png" members_list.append(member) except: pass paginator = Paginator(members_list, 10) page = request.GET.get('page', 1) try: context['members'] = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. context['members'] = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. context['members'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['members'].number, paginator.num_pages) except Exception as e: print str(e) return HttpResponse(t.render(context))
def main(request): t = loader.get_template('message.html') context = RequestContext(request) my_utils.load_basic_info(request, context) # user = get_object_or_404(User,username=request.user.username) context['page_dm'] = "selected" context['type'] = 'all' if request.GET.get('type',False): context['type'] = request.GET['type'] return HttpResponse(t.render(context))
def feed(request): t = loader.get_template('feed.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['load_type']='me' context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) context['side_list']=[''] context['current_user'] = request.user context['page_feed'] = "selected" context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) return HttpResponse(t.render(context))
def setting(request): t = loader.get_template('setting.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_setting'] = "selected" user = get_object_or_404(User,username=request.user.username) user_profile = get_object_or_404(UserProfile,user=user) context['user'] = user context['user_profile'] = user_profile context['user_picture_url'] = '/media/default.png' if user_profile.picture: context['user_picture_url']=user_profile.picture.url return HttpResponse(t.render(context))
def stats_favorite(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/stats_favorite.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_stats_by_favorite'] = 'selected' start_date=request.GET.get('start','') end_date=request.GET.get('end','') now = dt.datetime.now().isocalendar() this_week_start,this_week_end = get_week_days(now[0],now[1]) if start_date == '': start_date=this_week_start.strftime("%Y-%m-%d") if end_date == '': end_date=this_week_end.strftime("%Y-%m-%d") context['start_date']=start_date context['end_date']=end_date start_date=time.strptime(start_date,'%Y-%m-%d') start_date=dt.datetime.fromtimestamp(time.mktime(start_date)) end_date=time.strptime(end_date,'%Y-%m-%d') end_date=dt.datetime.fromtimestamp(time.mktime(end_date)) end_date=end_date+dt.timedelta(1) #print start_date,end_date messages = UserFavorite.objects.filter(reg_date__range=(start_date,end_date), message__is_deleted=False).values('message').annotate(count = Count('message')).order_by('-count') items=list() for message in messages: feed_id = message['message'] try: feed= Message.objects.get(id=feed_id) feed.count = message['count'] comments = Comment.objects.filter(message=feed,reg_date__range=(start_date,end_date), is_deleted=False) feed.comments = comments items.append(feed) except: pass context['items']=items return HttpResponse(t.render(context))
def read(request): t = loader.get_template('notifications.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['load_type']='read' context['unread_selected']='' context['read_selected']='selected' context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) context['side_list']=[''] context['current_user'] = request.user context['page_feed'] = "selected" context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) print context['user_favorite_topics'] return HttpResponse(t.render(context))
def message_detail(request, message_id): t = loader.get_template('message_detail.html') context = RequestContext(request) my_utils.load_basic_info(request, context) try: user = User.objects.get(username=request.user.username) username = request.user.username username +="," except Exception as e: print str(e) return HttpResponseRedirect('signin') query_type = Q(author=user) | Q(receivers__contains=username) try: d_message = DirectMessage.objects.filter(query_type,is_deleted=False,id=message_id)[0] context['message']=d_message context['message'].author_profile=UserProfile.objects.get(user=d_message.author) context['message'].contents=parser.parse_text(d_message.contents) context['message'].receivers=context['message'].receivers.replace(",", ", ")[:-2] context['message'].reg_date = d_message.reg_date.strftime('%Y-%m-%d %H:%M:%S') #2011-06-14 22:23:10 context['type'] = 'all' if request.GET.get('type',False): context['type'] = request.GET['type'] except Exception as e: print str(e) context['message']=None context['error_message'] = 'You cannot access to this message.' return HttpResponse(t.render(context)) try: replies = DirectMessageReply.objects.filter(direct_message=d_message, is_deleted=False).order_by('reg_date') for reply in replies: reply.author_profile = UserProfile.objects.get(user=reply.author) reply.reg_date = reply.reg_date.strftime('%Y-%m-%d %H:%M:%S') context['replies']= replies print replies except Exception as e: print str(e) return HttpResponse(t.render(context))
def main(request): t = loader.get_template('poll.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_poll'] = "selected" context['side_list']=[''] context['user_favorite_topics'] = my_utils.get_favorite_topics(request.user) try: polls = Poll.objects.filter(is_deleted=False).order_by('-reg_date') polls_list = list() for poll in polls: try: member_profile = UserProfile.objects.get(user=poll.author) try: poll.author.picture = member_profile.picture.url except: poll.author.picture = "/media/default.png" polls_list.append(poll) except: pass paginator = Paginator(polls_list, 15) page = request.GET.get('page', 1) try: context['polls'] = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. context['members'] = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. context['polls'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['polls'].number, paginator.num_pages) except Exception as e: print str(e) return HttpResponse(t.render(context))
def tab_detail(request, tab_id): t = loader.get_template("tab_detail.html") context = RequestContext(request) my_utils.load_basic_info(request, context) context["side_list"] = [""] context["current_user"] = request.user context["page_tab_user"] = "******" print tab_id print tab_id tab = get_object_or_404(Tab, id=tab_id) context["tab"] = tab context["tab_name"] = tab.name context["tab_id"] = tab.id related_users = list() if not tab.is_public: tab_users = TabUsers.objects.filter(tab=tab) for tab_users in tab_users: user = tab_users.user if not user.is_active: continue try: user_profile = UserProfile.objects.get(user=user) user.picture_url = user_profile.picture.url except Exception as e: print str(e) user.picture_url = "/media/default.png" related_users.append(user) context["related_users"] = related_users context["side_list"] = ["tab_info"] context["page_tab"] = "selected" return HttpResponse(t.render(context))
def tab_admin(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template("admin/tab.html") context = RequestContext(request) my_utils.load_basic_info(request, context) context["side_list"] = [""] context["current_user"] = request.user context["page_tab"] = "selected" tab_name = request.POST.get("tab_name", "") is_public = request.POST.get("is_public", False) if tab_name is not "": ## create tab try: new_tab = Tab(name=tab_name, is_public=is_public) new_tab.save() context["tab_message"] = "Tab '" + tab_name + "' is created." except Exception as e: print e context["tab_message"] = "Tab '" + tab_name + "' is not created. Check again." tabs = Tab.objects.all() paginator = Paginator(tabs, 10) page = request.GET.get("page", 1) try: context["tabs"] = paginator.page(page) except PageNotAnInteger: context["tabs"] = paginator.page(1) except EmptyPage: context["tabs"] = paginator.page(paginator.num_pages) context["index_info"] = my_utils.get_index_list(context["tabs"].number, paginator.num_pages) return HttpResponse(t.render(context))
def tab_manage(request, tab_id): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template("admin/tab_manage.html") context = RequestContext(request) my_utils.load_basic_info(request, context) context["side_list"] = [""] context["current_user"] = request.user context["page_tab"] = "selected" tab = get_object_or_404(Tab, id=tab_id, is_public=False) context["tab_name"] = tab.name context["tab_id"] = tab.id if request.POST.get("add_user", False): try: username = request.POST.get("add_user", "") new_user = User.objects.get(username=username) new_relation = TabUsers.objects.get_or_create(tab=tab, user=new_user)[0] new_relation.save() except: print "add failed" if request.POST.get("delete_user", False): try: username = request.POST.get("delete_user", "") user = User.objects.get(username=username) relation = TabUsers.objects.get(tab=tab, user=user) relation.delete() except: print "add failed" tab_users = TabUsers.objects.filter(tab=tab).order_by("-reg_date") paginator_tab = Paginator(tab_users, 5) tab_page = request.GET.get("tab_page", 1) try: context["tab_users"] = paginator_tab.page(tab_page) except PageNotAnInteger: context["tab_users"] = paginator_tab.page(1) except EmptyPage: context["tab_users"] = paginator_tab.page(paginator_tab.num_pages) context["index_info_tab"] = my_utils.get_index_list(context["tab_users"].number, paginator_tab.num_pages) users = UserProfile.objects.filter(is_deactivated=False, user__is_active=True) paginator = Paginator(users, 10) page = request.GET.get("page", 1) try: context["users"] = paginator.page(page) except PageNotAnInteger: context["users"] = paginator.page(1) except EmptyPage: context["users"] = paginator.page(paginator.num_pages) context["index_info"] = my_utils.get_index_list(context["users"].number, paginator.num_pages) context["tab_page"] = tab_page context["index"] = page return HttpResponse(t.render(context))
def stats_topic(request): if not request.user.is_staff: return HttpResponseNotFound() t = loader.get_template('admin/stats_topic.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['page_stats_by_topic'] = 'selected' context['side_list']=['search_topic'] my_utils.prepare_search_topic(context) now = dt.datetime.now().isocalendar() this_week_start,this_week_end = get_week_days(now[0],now[1]) this_week_end = this_week_end + dt.timedelta(1) last_week_start,last_week_end = this_week_start - dt.timedelta(7),this_week_end - dt.timedelta(7) this_week_topics = Topic.objects.filter(reg_date__range=(this_week_start,this_week_end), topic_name__gt="") for topic in this_week_topics: try: topic.recent_message='' recent_message = TopicTimeline.objects.filter(topic=topic).order_by('-update_date')[:1][0] topic.recent_message=recent_message.message.contents except Exception as e: print str(e) pass context['this_week_topics'] = this_week_topics context['this_week_length'] = Topic.objects.filter(reg_date__range=(this_week_start,this_week_end), topic_name__gt="").count() context['last_week_length'] = Topic.objects.filter(reg_date__range=(last_week_start,last_week_end), topic_name__gt="").count() if context['last_week_length'] == 0: context['increase_rate'] = 100.0 else: context['increase_rate'] = (float(context['this_week_length']) - context['last_week_length'])/context['last_week_length'] * 100 try: keyword = request.GET.get('q', '') query_type = Q() if keyword is not '': print keyword query_type = Q(topic_name__istartswith=keyword) search_index = request.GET.get('index', '') print search_index if search_index is not '': if search_index in map(chr, range(65, 91)): query_type = Q(topic_name__istartswith=search_index) elif search_index == 'number': query_type = Q(topic_name__gt="0",topic_name__lt="9") else: this_index,next_index=my_utils.next_search_index(search_index) query_type = Q(topic_name__gt=this_index, topic_name__lt=next_index) topics = Topic.objects.filter(query_type, topic_name__gt='').order_by('topic_name') for topic in topics: try: topic.recent_message='' recent_message = TopicTimeline.objects.filter(topic=topic).order_by('-update_date')[:1][0] topic.recent_message=recent_message.message.contents except Exception as e: print str(e) pass paginator = Paginator(topics, 5) page = request.GET.get('page', 1) try: context['topics'] = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. context['topics'] = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. context['topics'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['topics'].number, paginator.num_pages) except Exception as e: print str(e) return HttpResponse(t.render(context))
def main(request): t = loader.get_template('member.html') context = RequestContext(request) my_utils.load_basic_info(request, context) context['side_list']=['search_member'] context['page_member'] = "selected" my_utils.prepare_search_topic(context) try: keyword = request.GET.get('q', '') search_index = request.GET.get('index', '') query_type = Q() if keyword is not '': print keyword query_type = Q(username__icontains=keyword) | Q(last_name__icontains=keyword) if search_index is not '': if search_index in map(chr, range(65, 91)): query_type = Q(username__istartswith=search_index) elif search_index == 'number': query_type = Q(username__gt="0",username__lt="9") else: this_index,next_index=my_utils.next_search_index(search_index) query_type = Q(username__gt=this_index, username__lt=next_index) members = User.objects.filter(query_type, is_active=True).order_by('username') members_list = list() for member in members: try: member_profile = UserProfile.objects.get(user=member) member.profile = member_profile try: member.picture = my_utils.get_user_thumbnail(member) except: member.picture = "/media/default.png" if not member_profile.is_deactivated: members_list.append(member) except: pass paginator = Paginator(members_list, 15) page = request.GET.get('page', 1) try: context['members'] = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. context['members'] = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. context['members'] = paginator.page(paginator.num_pages) context['index_info'] = my_utils.get_index_list(context['members'].number, paginator.num_pages) except Exception as e: print str(e) return HttpResponse(t.render(context))