Я хочу создать простую форму с простым текстовым полем ввода, которое использует автозаполнение, чтобы помочь пользователям заполнить поле ввода.
Я пытаюсь заставить django_autocomplete_light работать. Я внимательно следовал инструкциям, но визуализированная форма по-прежнему имеет простое выпадающее меню (выбор) вместо текстовое поле автозаполнения.. (со ВСЕМИ городами, обработка которых занимает много времени)
Я сделал все необходимые записи в settings.py
и urls.py
, и все javascripts загружаются.
Забавная вещь: я уже заставил это работать - вместо раскрывающегося меню было текстовое поле с функцией автозаполнения - затем я попробовал что-то еще и когда я снова попробовал прежнее рабочее решение, оно больше не работало. не могу найти свою ошибку :(
Это autocomplete_light_registry.py
:
import autocomplete_light
from cities_tiny.models import City
autocomplete_light.register(City, search_fields=('name','name_ascii'),
autocomplete_js_attributes={'placeholder': 'city name ..'})
Это forms.py
:
from django import forms
import autocomplete_light
from models import Search
class SearchForm(forms.ModelForm):
class Meta:
widgets = autocomplete_light.get_widgets_dict(Search)
model = Search
Это models.py
:
from django.db import models
from django.core import urlresolvers
class Search(models.Model):
city = models.ForeignKey('cities_tiny.city', null=True, blank=True)
def get_absolute_url(self):
return urlresolvers.reverse('non_admin:widget_update', args=(self.pk,))
Было бы хорошо, если бы это работало, но я бы предпочел ТОЛЬКО форму... Думаю, мне не нужна дополнительная модель "Поиск", потому что у меня уже есть "cities_tiny.city". ". Форма должна получать значения autocomplete из модели City.
Я также обнаружил, что не могу использовать CityAutocomplete где-то в модели, как в документации. Он всегда говорит KeyError
.
Спасибо за вашу помощь.