2009-04-09 2 views
0

У меня есть следующий код из некоторого примера, который я получил от here, но его не работает в моем приложении django.JQuery Автозаполнение в Django не работает

На моем Templete я иметь эту функцию:

$ (функция() { setAutoComplete ("метки", "tagResults", "?/Taglookup/запроса ="); });

и на моих URLs я имею следующую строку

(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 дает мне следующую ошибку;

ПОЛУЧИТЬ http://127.0.0.1:8000/taglookup/?query=test 404 НЕ НАЙДЕНО JQuery-1.3.2.js (строка 3633)

Любые идеи, где я лентяйничать?

Gath

ответ

3

Из ошибки 404 Вы видите в поджигатель он выглядит как запрос происходит, как вы ожидаете в URL вы сказали автозаполнения, чтобы позвонить. Я бы дважды проверил ваш urls.py-файл, чтобы убедиться, что перед строкой регулярного выражения нет неявного префикса. Значит, это то, что строка urls в базовом проекте dir или в каталоге приложения, который включен в основной файл urls.py?

Если он включен, вы можете иметь такую ​​строку в вашем файле базы urls.py:

(r'^appname/', include('projectname.appname.urls')),

так, то ваша функция JQuery следует читать:

$(function(){ setAutoComplete("tags", "tagResults", "/appname/taglookup/?query="); });

Вы также можете проверить, работает ли шаблон url или нет, набрав этот адрес в вашем браузере, таким образом вы можете выделить, связана ли проблема с URL-адресом или jQuery.

Смежные вопросы