У меня есть следующая ajax-функция, которая считывает значение поля input и отправляет его в view, во view я из этого значения формирую массив url-ов и хочу вернуть его обратно в шаблон. Функция верно считывает значение, view также правильно формирует массив.
Проблемы начинаются при выводе массива в шаблоне. Моя view возвращает в поле div id="results" не только массив, но и всю страницу html. Получается страница в странице. И это логично, потому что в view я действительно передаю весь шаблон new_topic.html, - я не знаю, как можно передать только лишь один массив.
$(function(){
$("#search_btn").click(function () {
q = $( "#search" ).val();
if (q!=''){
var s = 'search_photos/'
$.get(s, {'q': q}).done(function (data) {
$( '#results').html(data);
});
}
});
});
views.py:
def search_photos(request):
if request.method == 'GET':
q = request.GET.get('q')
photos_url = []
#Здесь формирую массив photos_url
return render(request, 'myapp/new_topic.html', {'photos_url':photos_url})
return render(request, 'myapp/new_topic.html', {})
new_topic.html:
<input id="search" name="q" type="text" class="form-control" placeholder="Поиск">
<input name='submit_s' id='search_btn' type='button' value='poisk' />
<div id="results"> Сюда хочу вывести обработанный список url-ов </div>