Как получить и отобразить данные из базы данных без обновления страницы с помощью ajax и django
Я хочу получить и отобразить данные из базы данных на моей странице, используя django и ajax. Вот мое представление :
def getMessages(request, sender_id, receiver_id):
if request.user.profile == 'A':
chat = Chat.objects.filter(Q(sender_id=sender_id) | Q(receiver_id=sender_id)).all()
elif request.user.profile == 'C':
chat = Chat.objects.filter(Q(sender_id=sender_id,receiver_id=receiver_id) | Q(sender_id=receiver_id,receiver_id=sender_id))
return JsonResponse({"chat":list(chat.values())})
А это мой javascript:
$(document).ready(function(){
setInterval(function(){
$.ajax({
type: 'GET',
url : "{% url 'getMessages/{{request.user.id}}/to/{{receiver_user.id}}'}",
success: function(response){
console.log(response);
$("#display").empty();
for (var key in response.chat)
{
var temp='<div class="msg-box {% if request.user == msg.sender %} right {% else %} left {% endif %}"><div class="details"><p class="msg">{{ msg.message }}</p><p class="date">{{ msg.msg_time }}</p></div></div>';
$("#display").append(temp);
}
},
error: function(response){
console.log('An error occured')
}
});
},1000);
});
А это мой urls.py:
urlpatterns = [
path('<int:sender_id>/to/<int:receiver_id>',views.chat),
path('send/', views.send, name='send'),
path('getMessages/<int:sender_id>/to/<int:receiver_id>', views.getMessages, name='getMessages'),
]
Я пробовал эти коды, но они не работают.