Как заставить Django-Ajax-Selects работать в Django Admin? - PullRequest
2 голосов
/ 02 февраля 2011

Джанго Аякс выбирает

Вот что я сделал, но безрезультатно:

Добавил ajax_select к моим INSTALLED_APPS в settings.py

Добавлено (r'ajax_select', include('ajax_select.urls')), в urls.py

Добавлено в settings.py:

AJAX_LOOKUP_CHANNELS = {
    'postal_code': {'model': 'places.PostalCode', 'search_field': 'code'}
}

Добавлено в admin.py:

class AddressAdmin(admin.ModelAdmin):
    form = make_ajax_form(Address, {'postal_code':'postal_code'})

admin.site.register(Address, AddressAdmin)

Когда япопытался просмотреть соответствующую страницу на сайте администратора и набрал в текстовом поле ничего не подошло.Глядя в Firebug, похоже, ничего не происходит.Предположительно, потому что JS не включен;Я предполагаю, что форма / виджеты не включают в себя то, что делают другие виджеты администратора.

Итак, я попытался включить медиа только так, как я знаю, как:

class AddressForm(forms.ModelForm):
    postal_code = AutoCompleteSelectField('postal_code')

    class Media:
        css = {
            'all': ['media/css/ui-lightness/jquery-ui-1.8.9.custom.css', 'media/css/iconic.css']
        }
        js = ['media/js/jquery-1.4.4.min.js', 'media/js/jquery-ui-1.8.9.custom.min.js', 'media/js/ajax_select.js']

class AddressAdmin(admin.ModelAdmin):
    form = AddressForm

admin.site.register(Address, AddressAdmin)

Теперь всевключается, но все равно не работает.Кажется, ничего не происходит.

Я пропустил шаг?Почему не запускаются события JS?

1 Ответ

2 голосов
/ 02 февраля 2011

Хорошо, похоже, проблема в том, что я должен использовать старую версию автозаполнения .

...