def follow_question(id): question = Question.query.get_or_404(id) if current_user.is_following_question(question): flash(u'您已经关注了该问题') return redirect(url_for('main.question', id=question.id)) current_user.follow_question(question) return redirect(url_for('main.question', id=question.id))
def ask(): form = AskForm() if form.validate_on_submit(): question = Question(title=form.title.data, body=form.body.data, user=current_user._get_current_object() ) #将标签分隔符转化成';' input_tags_string = form.tag.data input_tags_list = list(input_tags_string) for i in range(len(input_tags_list)): if input_tags_list[i] in [u',', u',' ,u';']: input_tags_list[i] = ';' input_tags = ''.join(input_tags_list).split(';') for tag_name in input_tags: tag = Tag.query.filter_by(name=tag_name).first() if tag is None: tag = Tag(name=tag_name) db.session.add(tag) db.session.commit() question.tags.append(tag) db.session.add(question) db.session.commit() question.addToTimeline() #加入时间线 id = question.id current_user.follow_question(id) return redirect(url_for('main.question', id=id)) return render_template('/main/ask.html', form=form)
def follow_question(id): '关注当前问题' current_user.follow_question(id) is_following_question = current_user.is_following_question(id) question = Question.query.get_or_404(id) question_followers_count = question.followers.count() return jsonify({'is_following_question': is_following_question, 'question_followers_count': question_followers_count})
def follow_question(question_id): """关注某个问题""" question = Question.query.filter_by(id=question_id).first() if question is None or current_user.is_following_question(question): return jsonify(error=constant.FAIL) # 关注问题 try: current_user.follow_question(question) except Exception as e: return jsonify(error=constant.FAIL) current_user.add_dynamic(current_user.id, question.id, "question") # 增加关注问题动态记录 current_user.notify_follower(question.id, "follow_ques") return jsonify(error="")
def submit_question(): question = request.form.get("question") question_desc = request.form.get("question_desc") topic = request.form.get("topic") if topic == None or topic == "": return jsonify(error=constant.NOT_VALID_CHOICE) if len(question) > 60 or len(question_desc) > 500: return jsonify(error=constant.QUESTION_ERROR) # 添加问题 result = Question.add_question(question, question_desc, topic, current_user.id) if not result: # 操作失败 return jsonify(error=constant.FAIL) current_user.follow_question(result) # 提问者默认关注提出的问题 current_user.notify_follower(result.id, "ask") return jsonify(result=result.id, error="")