0

我正在尝试将 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
4

1 回答 1

0

我认为您没有正确包含 js 和静态文件。首先你必须添加js文件并添加{% include 'autocomplete_light/static.html' %}

于 2015-08-20T20:56:20.267 回答