Передача переменных из Django в JQuery? - PullRequest
0 голосов
/ 21 января 2012

Я пытаюсь создать массив из текстового файла. Мой код django / python:

f = open('text file path here', 'r')
names = []
for line in f:
    names.append(line)
f.close()
return render_to_response('frontend.html', {'names'}, context_instance=RequestContext(request))

Затем мой frontend.html принимает массив, имена и использует данные для автозаполнения вform, чей id = 'status':

<script>

var names = {{ names }};

$(document).ready(function(){

            $("#status").autocomplete(names);
       });

</script>

Ничего не происходит в поле на frontend.html, когда я начинаю вводить чье-то имя.Есть мысли?

Ответы [ 2 ]

0 голосов
/ 21 января 2012

Эта строка неверна:

return render_to_response('frontend.html', {'names'}, context_instance=RequestContext(request))

- где вы видите, что оно пропускает значение «имен»? Вы хотите:

return render_to_response('frontend.html', {'names': names}, context_instance=RequestContext(request))

На самом деле, ваш код даже не является допустимым синтаксисом Python, поэтому я подозреваю, что произошла ошибка при копировании ...

0 голосов
/ 21 января 2012

Вы можете создать конечную точку url внутри вашего url.py, а в своих представлениях вы можете вернуть ответ с names в JSON и получить их в своем шаблоне с помощью вызова getJSON.

View

from django.utils import simplejson

def names(request):
   ..build your name collection
   data = simplejson.dumps(names)
   return HttpResponse(data, mimetype='application/javascript')

Template

$.getJSON('/your_json_endpoint/names/', function(data) {
// data contains your names serialized

});

Вам необходимо установить конечную точку в вашем URLConf https://docs.djangoproject.com/en/1.3/topics/http/urls/

Смотрите здесь полный пример: http://mitchfournier.com/2011/06/06/getting-started-with-ajax-in-django-a-simple-jquery-approach/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...