def post(self, request): form = SearchForm(request.POST) if form.is_valid(): query = form.cleaned_data['query'] tweets = Tweet.objects.filter(text__icontains=query) context = Context({"query": query, "tweets": tweets}) return_str = render_to_string('partials/_tweet_search.html', context) return HttpResponse(json.dumps(return_str), content_type="application/json") else: HttpResponseRedirect("/search")
def get(self, request, username): params = dict() userProfile = User.objects.get(username=username) try: userFollower = UserFollower.objects.get(user=userProfile) if userFollower.followers.filter(username=request.user.username).exists(): params["following"] = True else: params["following"] = False except: userFollower = [] form = TweetForm(initial={'country': 'Global'}) search_form = SearchForm() tweets = Tweet.objects.filter(user=userProfile).order_by('-created_date') paginator = Paginator(tweets, TWEET_PER_PAGE) page = request.GET.get('page') try: tweets = paginator.page(page) except PageNotAnInteger: # If page is not an integer, deliver first page. tweets = paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. tweets = paginator.page(paginator.num_pages) params["tweets"] = tweets params["profile"] = userProfile params["form"] = form params["search"] = search_form return render(request, 'profile.html', params)
def get(self, request): form = SearchForm() params = dict() params["search"] = form return render(request, 'search.html', params)