source: music/views.py@ 0e077ef

Last change on this file since 0e077ef was 0e077ef, checked in by ManuelTrajcev <manueltrajcev7@…>, 4 weeks ago

2 views wtih controllers and templates added

  • Property mode set to 100644
File size: 1.9 KB
RevLine 
[d7662b5]1from django.shortcuts import render
2import os
3import django
4from django.db import connection
5
6os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MuiscOrganizationSystem.settings')
7django.setup()
8
9from music.models import *
10
11
12# Create your views here.
13
14def album_list(request):
15 heading = request.GET.get('model', 'All Albums')
16 data = Album.objects.values_list('title', flat=True)
[0e077ef]17 return render(request, 'list.html', {'data': data, 'heading': heading})
[d7662b5]18
19
20def track_list(request):
21 heading = request.GET.get('model', 'All Tracks')
22 data = Track.objects.values_list('name', flat=True)
[0e077ef]23 return render(request, 'list.html', {'data': data, 'heading': heading})
[d7662b5]24
25
[0e077ef]26def artist_list(request):
27 heading = request.GET.get('model', 'All Artists')
28 data = Artist.objects.values_list('name', flat=True)
29 print(data)
30 return render(request, 'list.html', {'data': data, 'heading': heading})
31
32
33# VIEWS
[d7662b5]34def tracks_count_per_genre(request):
35 with connection.cursor() as cursor:
36 cursor.execute("SELECT * FROM track_count_per_genre;")
37 rows = cursor.fetchall()
38
39 data = [{'genre': row[0], 'count': row[1]} for row in rows]
40 print(data)
41
42 return render(request, 'track_count_per_genre.html', {'data': data})
43
44
[0e077ef]45def avg_track_duration(request):
46 with connection.cursor() as cursor:
47 cursor.execute("SELECT * FROM avg_track_duration_per_artist;")
48 rows = cursor.fetchall()
49
50 data = [{'artist': row[0], 'avg': row[1]} for row in rows]
[d7662b5]51 print(data)
[0e077ef]52
53 return render(request, 'avg_track_duration.html', {'data': data})
54
55
56def rank_list_most_active_customers(request):
57 with connection.cursor() as cursor:
58 cursor.execute("SELECT * FROM rank_list_most_active_customers_view;")
59 rows = cursor.fetchall()
60
61 data = [{'name': row[0], 'total_orders': row[1], 'total_money_spent': row[2]} for row in rows]
62
63 return render(request, 'rank_list_most_active_customers.html', {'data': data})
Note: See TracBrowser for help on using the repository browser.