Я работаю над базовым поиском по моему блогу, и основные функции запущены и работают. . Однако мне интересно, можете ли вы вернуть переменные контекста в ответе ajax, к которым затем можно было бы получить доступ в шаблоне. Вот мое определение поиска:
from django.http import HttpResponse
from django.db.models import Q
from django.core import serializers
def search(request):
if request.is_ajax():
query = request.POST['query']
text_list = Text.objects.filter(Q(title__icontains=query) | Q(mytextfield__icontains=query))
data = serializers.serialize("json", text_list)
else:
data = "whoops"
return HttpResponse(data,'application/javascript')
Это запрашивается через jquery.
$(document).ready(function() {
$('#search').submit(function(){
$.post("/search/search/", $("#search").serialize(), function(data){
// Search results for: **query**
$.each(data, function(index){
$(ajax).append(data[index].fields.title + "<br>");
});
}, "json");
return false
});
});
Что я хочу сделать, так это передать переменную query, содержащуюся в поиске по определению, обратно в мою функцию jquery. В обычном ответе http вы должны использовать контекстные переменные... но я не уверен, как их можно передать с помощью jQuery.