django-autocomplete-light中的ListSelect2显示一个空的下拉列表

时间:2019-05-16 14:53:13

标签: django django-forms django-autocomplete-light

我正在尝试将自动完成功能添加到out模型的国家/地区字段中。添加以下代码后,就会自动填充:

# form.py
class CustomUserChangeForm(UserChangeForm):
    country = autocomplete.Select2ListCreateChoiceField(
        choice_list=get_user_model().get_country_choice_list,
        # widget=autocomplete.ListSelect2(url='http://127.0.0.1:8000/accounts/country-list-autocomplete',),
    )

    class Meta:
        model = CustomUser
        fields = ('first_name', 'last_name', 'company', 'country')

但是当我对小部件行进行分解时,该字段在下拉菜单中将显示为空,并且根本不像输入,而是下拉菜单。

get_user_model().get_country_choice_list返回预期的列表:['Afghanistan', 'Åland Islands', 'Albania', 'Algeria'...

我的端点运行正常(假设格式正确):

{
"results": [
    {
    "id": "Afghanistan",
    "text": "Afghanistan"
    },
    ...

对于小部件,我尝试了以下选项:

widget=autocomplete.ListSelect2(url='http://127.0.0.1:8000/accounts/country-list-autocomplete',),
widget=autocomplete.ListSelect2(url='accounts/country-list-autocomplete',),
widget=autocomplete.ListSelect2(url='country-list-autocomplete',),

每项都无济于事。我在终端中没有错误,也没有生成任何请求。

取消注释小部件时,html元素如下所示:

<select name="country"
        id="id_country"
        data-autocomplete-light-language="en-US"
        data-autocomplete-light-url="/accounts/country-list-autocomplete"
        data-autocomplete-light-function="select2">
    <option value="Antarctica" selected="">Antarctica</option>
</select>

有什么想法为什么不起作用?

编辑-安装注意事项

  • 使用django 2.2.1
  • jquery 3.3.1
  • 我已在django.contrib.admin之前安装在已安装的应用程序中

0 个答案:

没有答案