ich freue mich, dass ich endlich eine aktive deutsche Community finden konnte, mit deren Unterstützung ich hoffentlich meine Python Skills weiterentwicken kann, damit ich künftig selber mehr unterstüzen kann .
Um Python zu lernen, arbeite ich aktuell an einem Dashboard, das ich via Django als Web Application aufsetze. Im Wesentlichen sollen User/Besucher die Möglichkeit haben, ein vorgegebenes Dashboard mit den Daten unterschiedlicher Fussballvereine anschauen zu können. Das Frontend habe ich mal soweit, dass es zu Testzwecken genutzt werden kann. Jetzt möchte ich im Backend Folgendes erreichen:
Sobald ein User auf ein Team in der Sidebar klickt, wird die id des html tags (des jeweiligen Teams) einer Variable mit Hilfe von Javascript zugeordnet. Diese Variable 'team_id' soll dann via AJAX von der view Funktion genutzt werden, um über eine API die korrekten Daten zu ziehen, damit das Dashboard entsprechend dem ausgewählten Team die Daten ausweist (die team_id ist Teil der API URL).
Allerdings nutzt die view Funktion die Variable nicht und ich weis nicht, woran es liegt. Die Variable team_id, die von der View Funktion genutzt wird, ist immer leer. Sie wird aber in Javascript 100% korrekt zugeordnet (laut console log im Google Chrome developer tool.) Ich würde mich auch über Alternative Lösungswege freuen, die ohne AJAX funktionieren.
Schonmal vielen Dank für eure Unterstützung und beste Grüße aus Stuttgart.
Anbei noch ein paar Bilder und mein Code, um es zu verdeutlichen:
Views.py:
Code: Alles auswählen
import requests
from django.shortcuts import render
import json
def team_update(request):
team_id = request.GET.get('team')
response = requests.get(f'http://www.api-football.com/demo/api/v2/teams/team/{team_id}')
team_data = response.json()
teams = team_data.get('api', {}).get('teams', [])
if teams and len(teams) == 1:
teams = teams[0]
return render(request, 'index.html', {
'name': teams['name'],
'country': teams['country'],
'founded': teams['founded'],
'logo': teams['logo'],
'venue_capacity': teams['venue_capacity'],
})
Code: Alles auswählen
$('ul.subbar li a').on('click', function(e) {
var team_id = $(this).attr("id");
console.log(team_id);
$.ajax({
method: "GET",
url: "/dashboard/",
data: {'team': team_id},
success: function(response) {
console.log(response)
}
});
});