def get_activity(activity_type,content_id,addtime,fuser): item={} fuser=get_user_by_id(fuser) if activity_type==0: question=get_question_from_redis(content_id) if question: item={'activitytype':activity_type,'addtime':addtime,"data":question,"fuser":fuser} elif activity_type==1: answer=get_answer_by_answer_id(content_id) if answer: item={'activitytype':activity_type,'addtime':addtime,"data":answer,"fuser":fuser} elif activity_type==2: follow=QustionFollow.objects.filter(pk=content_id)#如何解决 follow=follow[0] if len(follow)>0 else None if not follow: return None question=question=get_question_from_redis(follow.question_id) follow.question=question item={'activitytype':activity_type,'addtime':addtime,"data":follow,"fuser":fuser} elif activity_type==3: evalue=AnswerEvaluation.objects.filter(pk=content_id) evalue=evalue[0] if len(evalue)>0 else None if not evalue: return None answer=get_answer_by_answer_id(evalue.answer_id) evalue.answer=answer item={'activitytype':activity_type,'addtime':addtime,"data":evalue,"fuser":fuser} return item
def show_question(request,question_id): question=None answers=None if request.user.is_authenticated(): user_id=request.user.pk question=get_question_from_redis(question_id) question.followed=is_follow_question(question_id,user_id) answers=get_answers_from_redis(question_id,user_id=user_id) else: question=get_question_from_redis(question_id) answers=get_answers_from_redis(question_id) if not question: raise Http404 load_question_by_question(question) return render_to_response("question.html",{"question":question,"answers_list":answers},context_instance=RequestContext(request))
def get_activity(activity_type, content_id, addtime, fuser): item = {} fuser = get_user_by_id(fuser) if activity_type == 0: question = get_question_from_redis(content_id) if question: item = { 'activitytype': activity_type, 'addtime': addtime, "data": question, "fuser": fuser } elif activity_type == 1: answer = get_answer_by_answer_id(content_id) if answer: item = { 'activitytype': activity_type, 'addtime': addtime, "data": answer, "fuser": fuser } elif activity_type == 2: follow = QustionFollow.objects.filter(pk=content_id) #如何解决 follow = follow[0] if len(follow) > 0 else None if not follow: return None question = question = get_question_from_redis(follow.question_id) follow.question = question item = { 'activitytype': activity_type, 'addtime': addtime, "data": follow, "fuser": fuser } elif activity_type == 3: evalue = AnswerEvaluation.objects.filter(pk=content_id) evalue = evalue[0] if len(evalue) > 0 else None if not evalue: return None answer = get_answer_by_answer_id(evalue.answer_id) evalue.answer = answer item = { 'activitytype': activity_type, 'addtime': addtime, "data": evalue, "fuser": fuser } return item
def add_answer_to_redis(**kwargs): answer_id=add_answer(**kwargs) question_id=kwargs["question_id"] #import pdb;pdb.set_trace() question=get_question_from_redis(question_id) question.answercount+=1 update_question(question_id,answercount=int(question.answercount)) Question.objects.filter(pk=int(question_id)).update(answercount=int(question.answercount)) return answer_id
def add_answer(request): question_id=request.POST["questionid"] content=request.POST["content"] addtime=datetime.now() answer_id=add_answer_to_redis(user=request.user,addtime=addtime,question_id=question_id,content=content) question=get_question_from_redis(question_id) answer=Answer.answerobjects.create(answer_id,addtime=addtime,user=request.user,question=question,content=content); html_str=render_to_string('answerlist.html',{'answers_list':[answer]}) return HttpResponse(html_str)
def show_question(request, question_id): question = None answers = None if request.user.is_authenticated(): user_id = request.user.pk question = get_question_from_redis(question_id) question.followed = is_follow_question(question_id, user_id) answers = get_answers_from_redis(question_id, user_id=user_id) else: question = get_question_from_redis(question_id) answers = get_answers_from_redis(question_id) if not question: raise Http404 load_question_by_question(question) return render_to_response("question.html", { "question": question, "answers_list": answers }, context_instance=RequestContext(request))
def get_event(event_type,content_id,addtime,question_submit_count,answer_count): item={} if event_type==0: question=get_question_from_redis(content_id) item={'eventtype':event_type,'addtime':addtime,"data":question} question_submit_count+=1 elif event_type==1: answer=get_answer_by_answer_id(content_id) item={'eventtype':event_type,'addtime':addtime,"data":answer} answer_count +=1 elif event_type==2: follow=QustionFollow.objects.get(pk=content_id)#如何解决 question=question=get_question_from_redis(follow.question_id) follow.question=question item={'eventtype':event_type,'addtime':addtime,"data":follow} elif event_type==3: evalue=AnswerEvaluation.objects.get(pk=content_id) answer=get_answer_by_answer_id(evalue.answer_id) evalue.answer=answer item={'eventtype':event_type,'addtime':addtime,"data":evalue} return (item,question_submit_count,answer_count)
def get_event(event_type, content_id, addtime, question_submit_count, answer_count): item = {} if event_type == 0: question = get_question_from_redis(content_id) item = {'eventtype': event_type, 'addtime': addtime, "data": question} question_submit_count += 1 elif event_type == 1: answer = get_answer_by_answer_id(content_id) item = {'eventtype': event_type, 'addtime': addtime, "data": answer} answer_count += 1 elif event_type == 2: follow = QustionFollow.objects.get(pk=content_id) #如何解决 question = question = get_question_from_redis(follow.question_id) follow.question = question item = {'eventtype': event_type, 'addtime': addtime, "data": follow} elif event_type == 3: evalue = AnswerEvaluation.objects.get(pk=content_id) answer = get_answer_by_answer_id(evalue.answer_id) evalue.answer = answer item = {'eventtype': event_type, 'addtime': addtime, "data": evalue} return (item, question_submit_count, answer_count)
def add_answer(request): question_id = request.POST["questionid"] content = request.POST["content"] addtime = datetime.now() answer_id = add_answer_to_redis(user=request.user, addtime=addtime, question_id=question_id, content=content) question = get_question_from_redis(question_id) answer = Answer.answerobjects.create(answer_id, addtime=addtime, user=request.user, question=question, content=content) html_str = render_to_string('answerlist.html', {'answers_list': [answer]}) return HttpResponse(html_str)
def follow_question(request): "关注问题" if request.method=="POST": qid=request.POST.get("qid",None) typecode=request.POST.get("type",None) question=get_question_from_redis(int(qid)) if qid and typecode: if typecode=="0": follow=QustionFollow(question=question,user=request.user) follow.follow_question(request.user) follow_question_to_redis(qid,request.user.id) else: follow=QustionFollow.objects.filter(question=question,user=request.user)[0] follow.cancel_follow(request.user) cancel_follow_question_to_redis(qid,request.user.id) return HttpResponse() else: return Http404
def follow_question(request): "关注问题" if request.method == "POST": qid = request.POST.get("qid", None) typecode = request.POST.get("type", None) question = get_question_from_redis(int(qid)) if qid and typecode: if typecode == "0": follow = QustionFollow(question=question, user=request.user) follow.follow_question(request.user) follow_question_to_redis(qid, request.user.id) else: follow = QustionFollow.objects.filter(question=question, user=request.user)[0] follow.cancel_follow(request.user) cancel_follow_question_to_redis(qid, request.user.id) return HttpResponse() else: return Http404