我正在尝试将 django_autocomplete_light 实现到我的模型表单的 ModelMultipleChoiceFields 之一中。我完全按照教程和文档进行操作,但是当我在字段中输入前几个字母时,不会出现下拉菜单。
模型.py:
class GameForm(forms.Form):
Players = forms.ModelMultipleChoiceField(queryset=User.objects.all(),widget=autocomplete_light.MultipleChoiceWidget('UserAutocomplete'))
autocomplete_light_registry.py:
class UserAutocomplete(autocomplete_light.AutocompleteModelBase):
search_fields=['username' ]
model = User
choices = User.objects.all()
autocomplete_light.register(UserAutocomplete,
search_fields=['username'],
attrs={
'placeholder': 'Who?',
'data-autocomplete-minimum-characters': 1,
},
widget_attrs={
'data-widget-maximum-values': 4,
'class': 'modern-style',
},
)
访问 localhost/autocomplete/UserAutocomplete/ 在一行中返回所有用户,没有空格:
user1user2user3
我已经完成了安装说明中所述的步骤,这些步骤是
- 使用 pip 安装 django-autocomplete-light>=2.0.0pre 包
- 在 django.contrib.admin 之前将 'autocomplete_light' 附加到 settings.INSTALLED_APPS
- 包括 autocomplete_light.urls
- 加载 jquery.js (>=1.7) 后包含 autocomplete_light/static.html