Index: music/urls.py
===================================================================
--- music/urls.py	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
+++ music/urls.py	(revision d0b1ea74bdcbf92413abee6cdf506065f9e4a08e)
@@ -23,4 +23,5 @@
     path('customer/rank-list', views.rank_list_most_active_customers, name='rank_list_most_active_customers'),
     path('employee/batch-update-reports-to/', views.batch_update_reports_to, name='batch_update_reports_to'),
+    path('playlists/add-tracks/', views.add_tracks_to_playlist, name='add_tracks_to_playlist'),
 
 ]
Index: music/views.py
===================================================================
--- music/views.py	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
+++ music/views.py	(revision d0b1ea74bdcbf92413abee6cdf506065f9e4a08e)
@@ -276,2 +276,29 @@
     })
 
+def add_tracks_to_playlist(request):
+    playlists = Playlist.objects.all()
+    tracks = Track.objects.all()
+    selected_playlist_id = request.POST.get('playlist_id') or request.GET.get('playlist_id')
+
+    if request.method == 'POST':
+        selected_track_ids = request.POST.getlist('track_ids')
+
+        if selected_playlist_id and selected_track_ids:
+            json_data = json.dumps([
+                {"track_id": int(track_id)}
+                for track_id in selected_track_ids
+            ])
+            try:
+                with connection.cursor() as cursor:
+                    cursor.execute("SELECT add_tracks_to_playlist(%s, %s::json);", [selected_playlist_id, json_data])
+                messages.success(request, "Tracks successfully added to playlist.")
+                return redirect('add_tracks_to_playlist')
+
+            except Exception as e:
+                messages.error(request, f"Error adding tracks: {e}")
+
+    return render(request, 'add_tracks_to_playlist.html', {
+        'playlists': playlists,
+        'tracks': tracks,
+        'selected_playlist_id': selected_playlist_id
+    })
Index: templates/add_tracks_to_playlist.html
===================================================================
--- templates/add_tracks_to_playlist.html	(revision d0b1ea74bdcbf92413abee6cdf506065f9e4a08e)
+++ templates/add_tracks_to_playlist.html	(revision d0b1ea74bdcbf92413abee6cdf506065f9e4a08e)
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+</head>
+<body>
+
+</body>
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Add Tracks to Playlist</title>
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.5/dist/css/bootstrap.min.css" rel="stylesheet">
+</head>
+<body class="d-flex bg-light">
+{% include 'sidebar.html' %}
+
+<div class="container mt-5">
+    <h1 class="text-center mb-4">Add Tracks to Playlist</h1>
+
+    <form method="post" class="card p-4 shadow-sm bg-white">
+        {% csrf_token %}
+
+        <div class="mb-3">
+            <label for="playlist_id" class="form-label"><strong>Select Playlist</strong></label>
+            <select name="playlist_id" id="playlist_id" class="form-select" onchange="this.form.submit()">
+                <option value="">-- Choose Playlist --</option>
+                {% for playlist in playlists %}
+                    <option value="{{ playlist.playlist_id }}"
+                            {% if playlist.playlist_id|stringformat:"s" == selected_playlist_id %}selected{% endif %}>
+                        {{ playlist.name }}
+                    </option>
+                {% endfor %}
+            </select>
+        </div>
+
+        <div class="row justify-content-center">
+            <div class="col-6">
+                <div class="mb-3">
+                    <label class="form-label"><strong>Select Tracks to Add</strong></label>
+                    <div class="form-check">
+                        {% for track in tracks %}
+                            <div class="form-check mb-2">
+                                <input class="form-check-input" type="checkbox" name="track_ids"
+                                       value="{{ track.track_id }}"
+                                       id="track{{ track.track_id }}">
+                                <label class="form-check-label" for="track{{ track.track_id }}">
+                                    {{ track.name }}
+                                </label>
+                            </div>
+                        {% endfor %}
+                        {% if tracks|length == 0 %}
+                            <div class="alert alert-info mt-2">No tracks available.</div>
+                        {% endif %}
+                    </div>
+                </div>
+
+            </div>
+
+            <div class="col-4 justify-content-center">
+                <div class="d-grid">
+                    <button type="submit" class="btn btn-primary">Add Tracks</button>
+                </div>
+            </div>
+        </div>
+    </form>
+</div>
+</body>
+</html>
Index: templates/sidebar.html
===================================================================
--- templates/sidebar.html	(revision 9ed4889a557f196dd21c3f48e3edef203a3a1051)
+++ templates/sidebar.html	(revision d0b1ea74bdcbf92413abee6cdf506065f9e4a08e)
@@ -86,4 +86,10 @@
             </a>
         </li>
+       <li class="nav-item">
+            <a href="{% url 'add_tracks_to_playlist' %}"
+               class="nav-link {% if request.path == 'playlists/add-tracks/' %}active{% endif %}">
+                Add tracks to playlist
+            </a>
+        </li>
     </ul>
 </div>
