Автозаполнение JQuery в Django не работает - PullRequest
0 голосов
/ 09 апреля 2009

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

В моем шаблоне у меня есть эта функция:

$ (функция () { setAutoComplete ("tags", "tagResults", "/ taglookup /? query ="); });

и в моих URL-адресах у меня есть следующая строка

(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)

Есть идеи, где я лоханусь?

Гаф

1 Ответ

3 голосов
/ 09 апреля 2009

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

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

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

поэтому ваша функция jQuery должна выглядеть так:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...