- Timestamp:
- 04/28/25 17:28:23 (3 weeks ago)
- Branches:
- master
- Children:
- 17ed1da
- Parents:
- 0e077ef
- Location:
- music
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
music/urls.py
r0e077ef rbfca48b 5 5 path('album/', views.album_list, name='album_list'), 6 6 path('artist/', views.artist_list, name='artist_list'), 7 path('artist/avg_track_duration', views.avg_track_duration, name='avg_track_duration'), 7 path('artist/avg-track-duration', views.avg_track_duration, name='avg_track_duration'), 8 path('artist/avg-track-price', views.avg_price_per_artist, name='avg_track_price'), 9 path('artist/most-popular', views.rank_list_artists, name='rank_list_artists'), 8 10 path('track/', views.track_list, name='track_list'), 9 path('track/per_genre', views.tracks_count_per_genre, name='track_count_per_genre'), 10 path('customer/rank_list', views.rank_list_most_active_customers, name='rank_list_most_active_customers'), 11 path('customer/genre', views.most_listened_genre_per_customer, name='most_listened_genre_per_customer'), 12 path('media-type/percentage', views.media_type_percentage, name='media_type_percentage'), 13 path('track/per-genre', views.tracks_count_per_genre, name='track_count_per_genre'), 14 path('customer/rank-list', views.rank_list_most_active_customers, name='rank_list_most_active_customers'), 11 15 ] -
music/views.py
r0e077ef rbfca48b 62 62 63 63 return render(request, 'rank_list_most_active_customers.html', {'data': data}) 64 65 66 def avg_price_per_artist(request): 67 with connection.cursor() as cursor: 68 cursor.execute("SELECT * FROM avg_price_per_artist;") 69 rows = cursor.fetchall() 70 71 data = [{'name': row[0], 'avg_price_per_track': row[1]} for row in rows] 72 73 return render(request, 'avg_price_per_artist.html', {'data': data}) 74 75 76 def rank_list_artists(request): 77 with connection.cursor() as cursor: 78 cursor.execute("SELECT * FROM rank_list_artists;") 79 rows = cursor.fetchall() 80 81 data = [{'name': row[0], 'num_invoices': row[1]} for row in rows] 82 83 return render(request, 'rank_list_artists.html', {'data': data}) 84 85 86 87 def media_type_percentage(request): 88 with connection.cursor() as cursor: 89 cursor.execute("SELECT * FROM media_type_percentage;") 90 rows = cursor.fetchall() 91 92 data = [{'name': row[0], 'num_of_tracks': row[1], 'percentage': row[2]} for row in rows] 93 94 return render(request, 'media_type_percentage.html', {'data': data}) 95 96 97 def most_listened_genre_per_customer(request): 98 with connection.cursor() as cursor: 99 cursor.execute("SELECT * FROM most_listened_genre_per_customer;") 100 rows = cursor.fetchall() 101 102 data = [{'first_name': row[0], 'last_name': row[1], 'most_listened_genre': row[2]} for row in rows] 103 104 return render(request, 'most_listened_genre_per_customer.html', {'data': data})
Note:
See TracChangeset
for help on using the changeset viewer.