def answer_save(request, q_id): question = Question.objects.get(id=q_id) content = request.POST.get("content", "") if not content: request.session["error_message"] = u"풀이의 내용을 입력하세요" return redirect(question.get_absolute_url()) content = unicode.strip(content) profile = get_profile(request) # # 풀이작성 시 알림메일 발송 대상 # emails = [] answer = Answer() answer.profile = profile answer.content = content answer.save() revision = Revision(profile=profile, content=content) revision.save() answer.revisions.add(revision) question.answers.add(answer) question.modify_time = datetime.datetime.today() question.save() request.session["ok_message"] = u"풀이가 작성되었습니다" body = u"""%(user)s 님의 풀이 (작성일시: %(create_time)s) ----------------------------------------------------------------------------- %(content)s ----------------------------------------------------------------------------- %(subject)s - http://codingdojang.com%(url)s """ % { "user": profile.name, "create_time": answer.register_time.strftime(u"%Y-%m-%d %X"), "content": content, "subject": question.subject, "url": answer.get_absolute_url(), } if question.profile != profile: emails.append(question.profile.email) # # subscriber: 질문 구독자에게도 답글 알림메일을 발송 # for subscriber in question.subscriber.all(): if subscriber != profile: emails.append(subscriber.email) send_mail(u"[%s] 글에 풀이가 작성되었습니다." % (question.subject), body, settings.DEFAULT_FROM_EMAIL, emails) cache_remove(question.id) return redirect(answer.get_absolute_url())