Как принять переменную JavaScript в качестве входных данных в Django
Я пытаюсь передать переменную JavaScript в представлениях Django, но я не уверен в том, что я делаю.
Вот коды:
JavaScript код:
`function result_output()
{
document.getElementsByClassName("result_window")[0].style.display="block";
$(document).ready(function () {
var URL = "{% url 'homepage' %}";
var data = {'all_filter_value': all_filter_value[0]};
$.post(URL, data, function(response){
if(response === 'success'){ alert('Yay!'); }
else{ alert('Error! :('); }
});
});
}`
Views.Py
`from django.shortcuts import render
from django.http import HttpResponse
from .models import moviedb
import pandas as pd
def homepage(request):
movies = moviedb.objects.all().values()
df = pd.DataFrame(movies)
mydict = {
"df": df
}
if request.method == 'POST':
if 'all_filter_value' in request.POST:
all_filter_value = request.POST['all_filter_value']
return HttpResponse('Success')
return render(request=request,
template_name="movierec/home.html",
context=mydict)`
Я пробовал использовать JQuery для передачи переменной (массива) в Django views.py. Кажется, что она идет туда, но по какой-то причине она не принимается там. Я получаю следующую ошибку в консоли:
jquery.min.js:5 POST http://127.0.0.1:8000/%7B%%20url%20'homepage'%20%%7D 404 (Not Found) send @ jquery.min.js:5 ajax @ jquery.min.js:5 b.<computed> @ jquery.min.js:5 (anonymous) @ scripts.js:103 c @ jquery.min.js:3 add @ jquery.min.js:3 ready @ jquery.min.js:3 result_output @ scripts.js:99 nextPrev @ scripts.js:48 onclick @ (index):71