将变量从django传递到jquery?
我正试图从一个文本文件中生成一个数组,我的django/python代码是将变量从django传递到jquery?,jquery,django,autocomplete,Jquery,Django,Autocomplete,我正试图从一个文本文件中生成一个数组,我的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)) 然后my frontend.html以
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))
然后my frontend.html以id='status'的形式获取数组、名称并使用数据进行自动完成:
<script>
var names = {{ names }};
$(document).ready(function(){
$("#status").autocomplete(names);
});
</script>
变量名称={{names};
$(文档).ready(函数(){
$(“#状态”)。自动完成(名称);
});
当我开始输入某人的名字时,frontend.html上的字段中不会发生任何事情。有什么想法吗?您可以在
url.py
中构建一个url端点,在视图中,您可以返回一个JSON格式的带有名称的响应,并使用getJSON调用在模板中获取它们
查看
from django.utils import simplejson
def names(request):
..build your name collection
data = simplejson.dumps(names)
return HttpResponse(data, mimetype='application/javascript')
模板
$.getJSON('/your_json_endpoint/names/', function(data) {
// data contains your names serialized
});
您需要在URLConf中设置端点
有关完整示例,请参见此处:此行错误:
return render_to_response('frontend.html', {'names'}, context_instance=RequestContext(request))
--您在哪里看到它传递'names'的值?你想要:
return render_to_response('frontend.html', {'names': names}, context_instance=RequestContext(request))
实际上,您的代码甚至不是有效的python语法,所以我怀疑您的复制粘贴中有错误…您能发布生成后{{names}}数组的样子吗?getJSON如何知道查找名称
?这就是'ajax/test.json'
的作用吗?抱歉,我在这里一块一块地构建答案…这是本地主机端点的URL。这是您在URL.py
中选择和设置的URL。我添加了一个链接到一个更新的博客,并提供了一个示例作为进一步的帮助。