Estoy trabajando en una búsqueda básica para mi blog, y la funcionalidad básica está funcionando. Lo que me pregunto, sin embargo, es si puede devolver las variables de contexto en una respuesta ajax, que luego se podría acceder en la plantilla. Aquí está mi búsqueda def:Variables de contexto Django y respuesta 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')
Esto se solicita a través de 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
});
});
Lo que estoy queriendo hacer es pasar la variable deconsulta, contenida en busca def, de vuelta a mi función de jQuery. En una respuesta http regular, usaría variables de contexto ... pero no estoy seguro de cómo se podrían pasar con jQuery.
Parece prometedor Jordania. Lo intentaré cuando llegue a casa. – bento