如何让 Django-Ajax-Selects 在 Django Admin 中工作?
Django Ajax Selects
这是我所做的,但无济于事:
添加了 ajax_select
到我的 settings.py
中的 INSTALLED_APPS
添加了 (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 事件?
Django Ajax Selects
Here's what I did, to no avail:
Added ajax_select
to my INSTALLED_APPS
in settings.py
Added (r'ajax_select', include('ajax_select.urls')),
to urls.py
Added this to settings.py
:
AJAX_LOOKUP_CHANNELS = {
'postal_code': {'model': 'places.PostalCode', 'search_field': 'code'}
}
Added this to admin.py
:
class AddressAdmin(admin.ModelAdmin):
form = make_ajax_form(Address, {'postal_code':'postal_code'})
admin.site.register(Address, AddressAdmin)
When I tried viewing the relevant page in the admin site and typed in the text box nothing came up. Looking in Firebug, nothing seems to be happening. Presumably because no JS is included; I guess the form/widgets don't include any the way the other admin widgets do.
So, I tried including the media the only way I know how:
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)
Now everything gets included, but it still doesn't work. Nothing seems to be happening.
Did I miss a step? Why aren't any JS events firing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,问题似乎是我必须使用旧版本的自动完成。
Okay, the problem seems to be that I have to use the old version of autocomplete.