GOOGLE ADS

Samstag, 23. April 2022

Django: Anzeigedaten, die über einen Ajax-Aufruf in HTML abgerufen wurden

Ich bin ziemlich neu in Django und habe Mühe, etwas Einfaches zu tun. Ich baue eine Karte mit Datenvisualisierung. Ich zeige dem Benutzer eine einfache SVG-Karte, die dabei hilft, Folgendes zu tun: 1 Benutzer klickt auf einen der Bereiche der Karte. 2-Daten-Visualisierung dieses bestimmten ausgewählten Bereichs wird angezeigt.

Zuerst sende ich den Namen des Bereichs (den ich vom SVG-Pfad erhalten habe) mit Jquery, Ajax-Aufruf an Python, das ist meine main.js:


$(document).ready(function(e) {
$('path').on('focus', function(e) {
e.preventDefault();
$('#selection').html($(this).attr('name'));
var gov = $('#selection').text();
console.log(gov)
var obj = { gov}
$.ajax({
type: 'POST',
url: '/map/',
contentType: 'application/json; charset=utf-8', //EDITED
data: gov,
success: function(data) {},
error: function(rs, e) {
}
});
});

});

Lösung des Problems

Ich wäre nicht in der Lage, die genaue Antwort zu geben, es sei denn, Sie fügen Ihre Vorlagen hinzu, aber ich kann Ihnen helfen, Ihren Code ein wenig zu bereinigen.

Versuchen Sie es unten und lassen Sie es mich wissen:

main.js

$(document).ready(function(e) {
$('path').on('focus', function(e) {
e.preventDefault();
$('#selection').html($(this).attr('name'));
const gov = $('#selection').text();
console.log(gov)
let obj = gov

$.ajax({
type: 'POST',
url: '/map/',
contentType: 'json', // or try deleting this line
data: {
'gov': gov
},
success: function(data) {
console.log(data);
console.log(data.gov);
console.log(data.k);
},
error: function(data) {
console.log('error', data)
}
});
});
});

Ansichten.py

@csrf_exempt
def map(request):
if request.method=='POST':
data = request.POST.get('gov')
gover=str(data)
print(gover) #this prints to your command prompt
df = pd.read_csv('https://raw.githubusercontent.com/-/datandvi/main/ndvid.csv',
encoding='utf-8',na_values=None)
d = df[(df['Date'] >= '1984-01-01') & (df['Date'] <= '1985-01-01') & (df['Province'] ==gover )]
print(d)
datadate = d[['Date']].values.tolist()
dataplot = d[['Data_long_term_Average']].values.tolist()
def numpy_flat(a):
return list(np.array(a).flat)
k = numpy_flat(dataplot)
k1 = numpy_flat(datadate)
data={
'gover':gover,
'k': k,
'k1': k1
}
return JsonResponse(data, status=200)
return redirect('/index.html/')

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...