test-farid/album/views.py

54 lines
1.8 KiB
Python
Raw Normal View History

2022-09-26 07:14:05 +06:00
from django.contrib import messages
2022-09-26 05:46:58 +06:00
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core import exceptions
2022-09-26 05:46:58 +06:00
from django.core.exceptions import PermissionDenied
from django.http import (HttpResponse, HttpResponseBadRequest,
HttpResponseRedirect)
2022-09-26 05:46:58 +06:00
from django.shortcuts import render
from django.views.generic import CreateView, TemplateView
from .forms import AlbumForm
from .models import Album
2022-09-26 07:14:05 +06:00
from .serializers import AlbumCreateUpdateSerializer
2022-09-26 05:46:58 +06:00
# Create your views here.
class HomePageView(TemplateView):
template_name = 'album/homepage.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
# NOTE: This will be used to update the active window in navbar
context.update({
2022-09-26 07:14:05 +06:00
'contact_us_create': 'active',
'albums': Album.objects.filter(is_verified=True).only('id', 'image', 'is_verified')
2022-09-26 05:46:58 +06:00
})
return context
2022-09-26 07:14:05 +06:00
def post(self, request, *args, **kwargs) -> HttpResponse:
print(request.POST.get('surname'))
form = AlbumForm(request.POST, request.FILES)
# print(form.__dict__)
if form.is_valid():
# print('opno')
instance = form.save()
messages.success(self.request, 'Image uploaded successfully.')
return HttpResponseRedirect('/')
else:
return HttpResponseBadRequest()
# raise exceptions.ValidationError(form.errors)
return
2022-09-26 07:14:05 +06:00
data = {'image': request.FILES.get('image')}
serializer = AlbumCreateUpdateSerializer(data=data)
serializer.is_valid(raise_exception=True)
instance = serializer.save()
messages.success(self.request, 'Image uploaded successfully.')
return HttpResponseRedirect('/')