Study/routes/comments.py
2024-11-20 12:37:58 +08:00

33 lines
1.2 KiB
Python

from flask import Blueprint, redirect, url_for, flash, request
from flask_login import login_required, current_user
from app import db
from app.models import Comment
from app.forms import CommentForm
comments_bp = Blueprint('comments', __name__)
# 添加评论
@comments_bp.route('/add', methods=['POST'])
@login_required
def add_comment():
content = request.form['content']
article_id = request.form['article_id']
comment = Comment(content=content, article_id=article_id, user_id=current_user.id)
db.session.add(comment)
db.session.commit()
flash('评论已提交', 'success')
return redirect(url_for('articles.article_detail', article_id=article_id))
# 删除评论
@comments_bp.route('/delete/<int:comment_id>', methods=['POST'])
@login_required
def delete_comment(comment_id):
comment = Comment.query.get_or_404(comment_id)
if comment.user_id == current_user.id or current_user.is_admin:
db.session.delete(comment)
db.session.commit()
flash('评论已删除', 'success')
else:
flash('您没有权限删除此评论', 'danger')
return redirect(url_for('articles.article_detail', article_id=comment.article_id))