You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.2 KiB
41 lines
1.2 KiB
|
|
from django.shortcuts import render
|
|
from django.http import HttpResponse
|
|
from .models import App, Room, Message
|
|
from django.shortcuts import get_object_or_404, render
|
|
from django.template import loader
|
|
from rest_framework import viewsets, generics
|
|
from rest_framework import permissions
|
|
from .serializers import AppSerializer, RoomSerializer, MessageSerializer
|
|
|
|
# Create your views here.
|
|
def index(request):
|
|
rooms = Room.objects.all()
|
|
template = loader.get_template("chat/index.html")
|
|
context = {
|
|
"rooms": rooms,
|
|
}
|
|
return render(request, "chat/index.html", context)
|
|
|
|
def room(request, room_id):
|
|
room = get_object_or_404(Room, pk=room_id)
|
|
context = {
|
|
"room": room,
|
|
"messages": room.message_set,
|
|
}
|
|
return render(request, "chat/room.html", context)
|
|
|
|
class AppViewSet(viewsets.ModelViewSet):
|
|
queryset = App.objects.all()
|
|
serializer_class = AppSerializer
|
|
|
|
class RoomViewSet(viewsets.ModelViewSet):
|
|
queryset = Room.objects.all()
|
|
serializer_class = RoomSerializer
|
|
|
|
class MessageViewSet(viewsets.ModelViewSet):
|
|
serializer_class = MessageSerializer
|
|
|
|
def get_queryset(self):
|
|
room_id = self.request.query_params.get('room_id')
|
|
return Message.objects.filter(room=room_id)
|
|
|