mauflix/source/main/views.py

65 lines
1.8 KiB
Python

from django.shortcuts import render
from django.http import HttpResponse
from django.db.models import F
from django.views.decorators.csrf import csrf_exempt
from .models import Movie, Person
def home(request):
context = {}
return render(request, 'home.html', context)
def movies(request, args=''):
if args:
try:
id = int(args)
return by_id(request, id)
except ValueError:
pass
count = 0
data = Movie.objects.to_dict(args.strip())
directors = Person.objects.directors()
if data:
count = (len(data) - 1) * 4 + (len(data[-1]))
context = {'movies': data, 'args': args, 'count': count,
'directors': directors, 'selected_director': ''}
return render(request, 'movies.html', context)
def by_id(request, id):
count = 0
data = Movie.objects.to_dict(id=id)
directors = Person.objects.directors()
if data:
count = (len(data) - 1) * 4 + (len(data[-1]))
context = {'movies': data, 'args': id, 'count': count,
'directors': directors, 'selected_director': ''}
return render(request, 'movies.html', context)
def by_director(request, name):
data = Movie.objects.to_dict(director=name)
directors = Person.objects.directors()
count = (len(data) - 1) * 4 + (len(data[-1]))
context = {'movies': data, 'args': 'by_director', 'count': count,
'directors': directors, 'selected_director': name}
return render(request, 'movies.html', context)
def addcount(request, id):
response = ''
if id:
try:
movie = Movie.objects.get(id=id)
count = movie.count
movie.count = F('count') + 1
movie.save()
response = count + 1
except Movie.DoesNotExist:
pass
return HttpResponse(response)