Pracuję nad podstawowym wyszukiwaniem mojego bloga, a podstawowa funkcjonalność działa. Zastanawiam się jednak, czy możesz zwrócić zmienne kontekstowe w odpowiedzi ajaxowej, do której następnie można uzyskać dostęp w szablonie. Oto moja funkcja wyszukiwania:Zmienne kontekstowe Django i odpowiedź 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')
Jest to wymagane przez 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
});
});
Co ja chce zrobić, to przekazać zapytania zmienną, zawartych w def wyszukiwania, z powrotem do mojej funkcji jQuery. W regularnej odpowiedzi HTTP używałbyś zmiennych kontekstowych ... ale nie jestem pewien, w jaki sposób można je przekazać za pomocą jQuery.
Wygląda obiecująco Jordan. Spróbuję, kiedy wrócę do domu. – bento