我从here获得的一些示例中有以下代码,但它不适用于我的django应用程序。
在我的模板上我有这个功能:
$(函数(){ setAutoComplete(“tags”,“tagResults”,“/ taglookup /?query =”); });
在我的网址上我有以下内容
(r'^taglookup/$', 'twine.twineapp.views.tag_lookup'),
我的观点如下:
def tag_lookup(request):
# Default return list
results = []
if request.method == "GET":
if request.GET.has_key(u'query'):
value = request.GET[u'query']
# Ignore queries shorter than length 3
if len(value) > 2:
#model_results = Book.objects.filter(name__icontains=value)
TaggedItem = Tag.objects.get_by_model(Question, Tag.objects.filter(name__in=[value]))
results = [ x.name for x in TaggedItem]
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
当我尝试在模板中的“标签”字段上输入任何内容时,firebug会给我以下错误;
GET http://127.0.0.1:8000/taglookup/?query=test 404找不到JQuery-1.3.2.js(第3633行)
任何想法在哪里?
加特
答案 0 :(得分:3)
从您在firebug中看到的404错误看起来请求正在发生,因为您希望您告诉自动填充调用的网址。我会仔细检查你的urls.py文件,以确保在正则表达式行前面没有隐式前缀。意思是,在urls.py主文件中包含基础项目目录或app dir中的url行吗?
如果包含它,您的基本urls.py文件中可能会有这样的行:
(r'^appname/', include('projectname.appname.urls')),
那么你的jQuery函数应该是:
$(function(){ setAutoComplete("tags", "tagResults", "/appname/taglookup/?query="); });
您还可以通过在浏览器中键入该地址来验证网址格式是否有效,这样就可以确定问题是否与url或jQuery有关。