2 Stimmen

Wie bekomme ich Django-Ajax-Selects in Django Admin zum Laufen?

Django Ajax wählt aus

Ich habe Folgendes getan, ohne Erfolg:

Hinzugefügt ajax_select zu meinem INSTALLED_APPS en settings.py

Hinzugefügt (r'ajax_select', include('ajax_select.urls')), a urls.py

Dies wurde hinzugefügt zu settings.py :

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

Dies wurde hinzugefügt zu admin.py :

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

admin.site.register(Address, AddressAdmin)

Als ich versuchte, die betreffende Seite in der Admin-Site aufzurufen und in das Textfeld einzugeben, wurde nichts angezeigt. Ein Blick in Firebug zeigt, dass nichts passiert. Vermutlich, weil kein JS enthalten ist; ich schätze, die Form/Widgets enthalten keine, wie die anderen Admin-Widgets tun.

Also habe ich versucht, die Medien auf die einzige mir bekannte Weise einzubeziehen:

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)

Jetzt wird alles mit einbezogen, aber es funktioniert immer noch nicht. Es scheint nichts zu passieren.

Habe ich einen Schritt übersehen? Warum werden keine JS-Ereignisse ausgelöst?

2voto

mpen Punkte 253762

Okay, das Problem scheint zu sein, dass ich die die alte Version der Autovervollständigung .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X