IT/파이썬

[점프투플라스크] 이미 추천했습니다 띄우기

thesse 2021. 6. 1. 09:36
300x250
반응형

점프투플라스크 216쪽

자신의 글 추천시 오류 표시기능을 추가하는데

이미 추천한 글을 또 추천할때도 오류 표시를 해주고 싶을떼

 

vote_views.py

@bp.route('/question/<int:question_id>/')
@login_required
def question(question_id):
    _question = Question.query.get_or_404(question_id)
    print(g.user, "/*/*/*/*/*", _question.voter)
    print("===>", g.user in _question.voter)
    ...

이렇게 찍어보면

 

g.user가 voter에 있으면 true를 반환하는 게 보인다.

 

print를 지우고 elif문을 추가하자

@bp.route('/question/<int:question_id>/')
@login_required
def question(question_id):
    _question = Question.query.get_or_404(question_id)
    if g.user == _question.user:
        flash('본인이 작성한 글은 추천할 수 없습니다.')
        
    elif g.user in _question.voter:
        flash('이미 추천함')
        
    else:
        _question.voter.append(g.user)
        db.session.commit()
    return redirect(url_for('question.detail', question_id=question_id))

 

 

300x250
반응형