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?