我想使用jquery-ui自动完成插件与我的模型。 我有这样的模式:Django jquery-ui自动完成与数据库
class Baslik(models.Model):
user = models.ForeignKey(User, null=True, blank=True)
title = models.CharField(max_length=50)
timestamp = models.DateTimeField(auto_now_add=True, auto_now=False)
updated = models.DateTimeField(auto_now_add=False, auto_now=True)
active = models.BooleanField(default=True)
为了让这个做我用下面的代码: 输入:
<input id="n" type="text" name="n"/>
JS:
<script>
$(document).ready(function(){
$("input#n").autocomplete({
source: "{% url "autoco" %}",
minLength: 2
});
});
</script>
观点:
def autoco(request):
term = request.GET.get('term')
bslk = Baslik.objects.filter(title__istartswith=term)
res = []
for b in bslk:
dict = {'id':b.id, 'label':b.__unicode__(), 'value':b.__unicode__()}
res.append(dict)
return HttpResponse(simplejson.dumps(res))
url:
url(r'^autoco/$', 'autoco', name='autoco'),
但它仍然不起作用。当我只是在js代码中使用本地值时,它工作正常,但在这种情况下,我无法获得任何自动完成。当我键入输入内容时,终端会显示一个如"GET /autoco/?term=se HTTP/1.1" 500 9892
的日志我做错了什么。任何意见都会有帮助。谢谢。
请查看浏览器开发工具中的网络选项卡,并显示Ajax请求的回溯。或者,直接在浏览器中转到“/ autoco /?term = se”以查看那里的回溯。 – 2014-08-28 17:13:32
当我转到“/ autoco /?term = se”时,它说'TypeError at/autoco/ 'str'object is not callable' – malisit 2014-08-28 17:48:33
回溯的* rest *是什么? – 2014-08-28 17:55:03