Это просто моя концепция.Это даст вам представление о том, как вы можете с этим справиться.
Вы можете увидеть, как я прикрепил атрибуты like и like к id, чтобы я мог опубликовать его как ajax
<a class="unlike" id="unlike_{{post.id}}" href="{{ url_for('posts.like_action', post_id=post.id, action='unlike') }}"><img src="{{url_for('static', filename='heart-filled.png')}}" style="width:5%; height:5%;"></a>
<a class="like" id="like_{{post.id}}" href="{{ url_for('posts.like_action', post_id=post.id, action='like') }}"><img src="{{url_for('static', filename='heart-no-fill.png')}}" style="width:5%; height:5%;"></a>
Здесь вы можете передать postid как post_id1 и action как like_like
, следовательно, вы можете получить что-то вроде
if likeunlike == 'like':
current_user.like_post(post)
db.session.commit()
if likeunlike == 'unlike':
current_user.unlike_post(post)
, вот как ваш ajax-скрипт может выглядеть как
$(document).ready(function(){
// like and unlike click
$(".like, .unlike").click(function(){
var id = this.id; // Getting Button id
var split_id = id.split("_");
var text = split_id[0];
var post_id1 = split_id[1]; // postid
// AJAX Request
$.ajax({
url: '/ur-url',
type: 'post',
data: {post_id1:post_id1,likeunlike:text},
dataType: 'html',
success: function(data){
//var likes = data['likes'];
//var unlikes = data['unlikes'];
$("#likes_"+post_id).html(data); // setting likes
$("#unlikes_"+post_id).html(data); // setting unlikes
}
});
});
});
Это просто концепция.Время не на тайне, иначе я бы больше вникал внутрь ... Спасибо