Example #1
0
def add_answer():
    content=request.form.get('answer_content')
    article_id=request.form.get('article_id')

    answer=Answer(content=content)
    # user_id=session['user_id']
    # user=User.query.filter(User.id==user_id).first()
    answer.author=g.user
    article=Article.query.filter(Article.id==article_id).first()
    answer.article=article
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail',question_id=int(article_id)))
Example #2
0
def add_answer():
    content = request.form.get("answer_content")
    question_id = request.form.get("question_id")
    answer = Answer(content=content, question_id=question_id)
    user_id = session["user_id"]
    answer.author_id = user_id
    user = User.query.filter(User.id == user_id).first()
    answer.author = user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for("detail", question_id=question_id))
Example #3
0
def add_answer():
    content = request.form.get('answer_content')
    topic_id = request.form.get('topic_id')
    # 一直评论不成功,是因为将评论要插入哪个表写错了,而且topic_id也要传入才行
    answer = Answer(content=content, topic_id=topic_id)  # 实例化类Answer
    user_id = session['user_id']
    user = User.query.filter(User.id == user_id).first()
    answer.author = user
    topic = Topic.query.filter(Topic.id == topic_id).first()
    answer.topic = topic
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('topic_details', topic_id=topic_id))
Example #4
0
def add_answer():
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    answer = Answer(content=content)
    user_id = session['user_id']
    user = User.query.filter(User.id == user_id).first()
    answer.author = user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id))
Example #5
0
def add_answer():
    # 从form标签中拿到评论内容
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    # 将评论内容添加到数据库当中
    answer = Answer(content=content)
    answer.author = g.user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id))
Example #6
0
File: ask.py Project: xd145/ask
def add_answer():
    content = request.form.get('answer_content')
    ask_id = request.form.get('ask_id')

    answer = Answer(content=content)
    user_id = session['user_id']
    user = User.query.filter(User.id == user_id).first()
    answer.author = user
    ask = Ask.query.filter(Ask.id == ask_id).first()
    answer.ask = ask
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', detail_id=ask_id))
Example #7
0
def add_answer():
    answer_con = request.form.get('answer_con')
    ques_id = request.form.get('ques_id')
    answer = Answer(content=answer_con)

    user = User.query.filter(User.id == session.get('user_id')).first()
    answer.author = user

    ques = Question.query.filter(Question.id == ques_id).first()
    answer.question = ques

    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', q_id=ques_id))
Example #8
0
def add_answer():

    if session.get('user_id'):
        content = request.form.get('answer_content')
        question_id = request.form.get('question_id')
        answer = Answer(content=content)
        answer.author = g.user
        question =  Question.query.filter(Question.id == question_id).first()
        answer.question = question
        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('detail', question_id =question_id))
    else:
        return redirect(url_for('login'))
Example #9
0
def answer():
    content = request.form.get('answer')
    question_id = request.form.get('question_id')
    question = Question.query.filter_by(id=question_id).first()

    # author_id = session.get('user_id')
    # author = User.query.filter_by(id=author_id).first()

    answer = Answer(content=content)
    answer.author = g.user
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('details', question_id=question_id))
Example #10
0
def add_answer():
    if request.method == 'POST':
        content = request.form.get('answer_content')
        movie_id = request.form.get('movie_id')
        answer = Answer(content=content)
        user_id = session['user_id']
        user = User.query.filter(User.id == user_id).first()
        answer.author = user
        movie = Movie.query.filter(Movie.id == movie_id).first()
        answer.movie = movie
        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('detail',movie_id=movie_id))
    else:
        print(request.method)
Example #11
0
def answer():
    if request.method == 'POST':
        content = request.form.get('answer')
        question_id = request.form.get('question_id')

        answer = Answer(content=content)
        user_id = session.get('user_id')
        user = User.query.filter(User.id == user_id).first()
        question = Question.query.filter(Question.id == question_id).first()
        answer.author = user
        answer.question = question

        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('detail', id=question_id))
Example #12
0
def answer():
    answer_content = request.form.get('answer-content')
    if answer_content:
        question_id = request.form.get('question_id')
        answer = Answer(content=answer_content)
        user_id = session.get('user_id')
        user = User.query.filter(User.id == user_id).first()
        answer.author = user
        question = Question.query.filter(Question.id == question_id).first()
        answer.question = question
        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('detail', question_id=question_id))
    else:
        return "评论不能为空"
Example #13
0
def add_comment():
    print('in add_comment:')
    content = request.form.get('comment')
    question_id = request.form.get('question_id')
    print('add_comment:', question_id, content)
    answer = Answer(content=content)
    # user_id = session['user_id']
    # user = User.query.filter(User.id == user_id).first()
    user = g.user
    answer.author = user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id))
Example #14
0
def add_answer():
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')
    # user_id = session['user_id']
    # print(1, user_id, content, question_id)
    # user = User.query.filter(User.id == user_id).first()
    quest = Question.query.filter(Question.id == question_id).first()

    answer = Answer()
    answer.author = g.user
    answer.content = content
    answer.question = quest
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id))
Example #15
0
def add_answer():
    content = request.form.get('answer_content') # 从form表单获取内容
    water_id = request.form.get('water_id') # 从form表单获取当前水流的id

    answer = Answer(content=content) # 创建一个答案对象,并把答案的内容写入对象

    # user_id = session['user_id'] # 从session中获取用户id
    # user = User.query.filter(User.id == user_id).first() # 从数据库中查询当前session中的用户

    answer.author = g.user # 把当前用户写到答案的作者上
    water = Water.query.filter(Water.id == water_id).first() # 从数据库中查询与当前水流对应的第一条数据
    answer.water = water # 把水流的信息记录到答案中
    db.session.add(answer) # 把答案对象添加到数据库中
    db.session.commit() # 执行数据库命令
    return redirect(url_for('detail', water_id=water_id))
Example #16
0
def add_answer():
    #return '跳转成功'

    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    answer = Answer(content=content, question_id=question_id)
    user_id = session.get('user_id')
    user = db.session.query(User).get(user_id)
    answer.author = user
    question = db.session.query(Question).get(question_id)  #易错点,视频给的是:
    # question= Question.query.filter(Question.id == question_id) 这里相当于再次创建了会话?
    answer.question = question
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id))
Example #17
0
def answer():
    if request.method == 'POST':
        userid = session.get('user_id')
        if not userid:
            return redirect(url_for('login'))
        content = request.form.get('anwser')
        question_id = request.form.get('question_id')
        # answer = Answer(content = content, question_id = question_id, author_id = userid)
        answer = Answer(content=content)
        question = Question.query.filter(Question.id == question_id).first()
        user = User.query.filter(User.id == userid).first()
        answer.question = question
        answer.author = user
        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('quesdetail', question_id=question_id))
Example #18
0
def add_answer():
    session_id = session.get('user_id')
    if session_id:
        content = request.form.get('comment')
        question_id = request.form.get('question_id')
        answer = Answer(content=content)
        user_id = session['user_id']
        user = User.query.filter(User.id == user_id).first()
        answer.author = user
        question1 = Question.query.filter(Question.id == question_id).first()
        answer.question = question1
        db.session.add(answer)
        db.session.commit()
        return redirect(url_for("detail", question_id=question_id))
    else:
        return redirect(url_for('login'))
def huifu(father_answer_id):
    if request.method == 'GET':
        return render_template('huifu.html')
    else:
        father_answer_id = father_answer_id
        answer = Answer.query.filter(Answer.id == father_answer_id).first()
        content = request.form.get('huifu_content')
        huifu = Answer(content=content)
        huifu.father_answer_id = father_answer_id
        theme = Theme.query.filter(Theme.id == answer.theme_id).first()
        huifu.theme = theme
        huifu.plate_id = answer.plate_id
        huifu.author = g.user
        db.session.add(huifu)
        db.session.commit()
        return redirect(url_for('detail', theme_id=theme.id))
Example #20
0
def add_answer():
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    answer = Answer(content=content)
    # user_id  = session['user_id']
    # user = User.query.filter(User.id == user_id).first()
    answer.author = g.user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question
    # create_time = Question.query.filter_by( Question.id== question_id).first()
    context = {'questions': Answer.query.order_by('-create_time').all()}
    # return render_template('detail.html.', **context)
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', question_id=question_id, **context))
Example #21
0
def add_comment():
    comment = request.form.get('answer_comment')
    question_id = request.form.get('question_id')
    answer = Answer(content=comment)  # 前者为模型数据库中的名称!
    # user_id = session['user_id'] # 如果当前没有登录,则会报错!所以需要添加login_required装饰器!
    # user = User.query.filter(User.id == user_id).first()
    question = Question.query.filter(Question.id == question_id).first()
    answer.author = g.user
    answer.question = question
    # 把评论/回答提交!
    db.session.add(answer)
    # 事务提交
    db.session.commit()
    # return redirect(url_for('detail'), question_id == question_id ) 括号对齐问题很重要,否则参数无法回传!
    return redirect(url_for(
        'detail', question_id=question_id))  # 这里是通过question_id重载页面,而不是==
def add_answer():  #对主题详情进行评论
    content = request.form.get('answer_content')
    theme_id = request.form.get('theme_id')
    answer = Answer(content=content)
    answer.author = g.user
    answer.father_answer_id = 0
    theme = Theme.query.filter(Theme.id == theme_id).first()
    answer.plate_id = theme.plate_id
    answer.theme = theme
    m = 0
    for x in Answer.query.all():  # 迭代器,遍历Answer数据表中的每一个数据
        if x.theme_id == answer.theme_id:
            m = m + 1
    theme.answer_num = m
    db.session.add(answer)
    db.session.commit()
    return redirect(url_for('detail', theme_id=theme.id))
Example #23
0
def view_question(request, question_id):
    errors = []
    try:
        question = Question.objects.prefetch_related('tags').select_related(
            'author').get(id=question_id)
    except Question.DoesNotExist:
        raise Http404("Question does not exist")

    is_my = (request.user.id == question.author.id)

    if request.method == 'POST':

        # validate
        answer_text = request.POST.get('answer')
        if not answer_text:
            errors.append('Empty answer not allowed')

        answer_text = answer_text[:8192]

        with transaction.atomic():
            try:
                new_answer = Answer()
                new_answer.question = question
                new_answer.author = request.user
                new_answer.content = answer_text
                new_answer.create_date = timezone.now()

                new_answer.save()
            except Exception as e:
                errors.append("Unable to save answer: %s" % e.message)

            question.answers_count = Answer.objects.filter(
                question_id=question.id).count()
            question.save()

        if not errors:
            redirect('view_question', question.id)

    return render(request, 'answers/answer.html', {
        'question': question,
        'errors': errors,
        'is_my': is_my
    })
Example #24
0
def answer():
    # is_login = session.get('username')
    # if is_login:
        content = request.form.get('content')
        question_id = request.form.get('question_id')
        # print(content,question_id)  
        answer = Answer(content=content)

        # author = User.query.filter(User.username == is_login).first()
        # answer.author = author

        answer.author = g.user

        question = Question.query.filter(Question.id == question_id).first()
        answer.question = question

        db.session.add(answer)
        db.session.commit()
        return redirect(url_for('detail', question_id=question_id))
Example #25
0
def add_answer():
    # 拿到内容, 和这个问题的id
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    # 插入到数据库
    answer = Answer(content=content)

    # 这个评论属于哪一个作者
    answer.author = g.user

    # 评论是给那一个问题的  评论表的question
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question

    # 提交
    db.session.add(answer)
    db.session.commit()

    # 重新调用详细页面
    return redirect(url_for('detail', question_id=question_id))
Example #26
0
def add_answer():
    # 从前台表单中获取评论内容
    content = request.form.get('answer_content')
    question_id = request.form.get('question_id')

    # 根据前台数据,构造问答对象answer
    answer = Answer(content=content)

    # 优化代码1,将其写在before_request钩子函数中,并使用g对象
    # user_id = session.get('user_id')
    # user = User.query.filter(User.id == user_id).first()

    answer.author = g.user
    question = Question.query.filter(Question.id == question_id).first()
    answer.question = question

    # 将问答评论添加到数据库
    db.session.add(answer)
    db.session.commit()
    # 刷新问答详情页面
    return redirect(url_for('detail', question_id=question_id))
Example #27
0
 def save(self):
     answer = Answer(**self.cleaned_data)
     answer.author = self._user
     answer.save()
     return answer