Страница не перерисовывается при получении post-запроса от jquery к бэкенду django
Jquery на HTML-странице в тегах скриптов
$("input[type='radio']").click(function(){
var radioValue = $("input[name='filter']:checked").val();
if(radioValue){
var CSRFtoken = $('input[name=csrfmiddlewaretoken]').val();
jQuery.post("/", {filter:radioValue, csrfmiddlewaretoken: CSRFtoken });
}
});
});
django view (python)
def homepage(request):
context = {}
if request.POST:
filter = request.POST.get('filter')
filteredarticles = list(Article.objects.all().filter(is_draft = False, topic =filter))
context['features'] = filteredarticles
print(filteredarticles)
return render(request, 'homepage.html', context=context)
else:
allarticles = list(Article.objects.all().filter(is_draft=False))
FEATUREDQUANTITY = 7
featuredArticles = []
for i in range(FEATUREDQUANTITY):
k = random.randint(0, (len(allarticles)-1))
featuredArticles.append(allarticles[k])
allarticles.pop(k)
context['features'] = featuredArticles
print('seen')
return render(request, 'homepage.html', context=context)
Ход мысли следующий: Использование радиокнопок в HTML. Jquery прослушивает действия нажатия. Отправляет пост-запрос к функции view, содержащей выбранный радиоприемник {имя:значение} и информацию CSRF_token.
Представление получает пост-запрос, обрабатывает его через условие If и перерисовывает страницу с соответствующими данными.
Все работает, запрос на пост получен, данные внутри filteredarticles меняются, но сам сайт не рендерится с новыми значениями контекста, которые я передаю.
Любая помощь будет принята с благодарностью
редактирование:
Это потому, что я не передаю функцию обратного вызова успеха в моем jquery.post?