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.
 
 
enchant_server/chat/views.py

47 lines
1.4 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, UserSerializer
from django.contrib.auth.models import User
# 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 UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
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)