我想使用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