Django-Autocomplete-light小部件未显示

时间:2016-06-20 05:37:45

标签: python django autocomplete django-autocomplete-light

我刚安装了Django-Autocomplete-Light,并按照site上的指南进行操作。我已经设置了自动完成视图,它按预期工作(返回自动完成选项的JASON)。不过,我似乎无法让小部件显示出来。进出管理面板。

所有内容都编译没有错误,但是小部件我得到一个空的下拉选择框。

Image of empty selection box in admin panel

这是我的settings.py:

INSTALLED_APPS = [
    'dal',
    'dal_select2',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'selectable',
    'videos.apps.VideosConfig',
]

这是views.py:

class ActorAutocomplete(autocomplete.Select2QuerySetView):
    def get_queryset(self):
        # Don't forget to filter out results depending on the visitor !

        qs = Actor.objects.all()

        if self.q:
            qs = qs.filter(name__istartswith=self.q)

        return qs

urls.py:

url(r'^actor-autocomplete/$', views.ActorAutocomplete.as_view(), name='actor-autocomplete'),

forms.py:

class ActorForm(forms.ModelForm):
    class Meta:
        model = Actor
        fields = ('name',)
        widgets = {
            'name': autocomplete.Select(url='videos/actor-autocomplete')
        }

感觉我错过了一些简单的东西,但我不知道它是什么。也许它无法访问静态文件,但添加了“dal”。到settings.py中的installed_app应该根据文档解决了。 我会感激任何帮助!

我忘了提到Actor.name是CharField类型。也许我没有使用正确的小部件,但我还没有找到一个特定于CharField的小部件。

  

由于我遇到同样的问题,这是Firefox中我的控制台的内容:

     

Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.

     

似乎需要jQuery但找不到,但我无法找到正确链接它的方法。

     

它也在Chromium中完美运行。我没有其他任何浏览器可供测试。

2 个答案:

答案 0 :(得分:2)

经过一些测试后,我发现这在Firefox和Chrome隐身模式下运行良好。我已禁用所有Chrome扩展程序,现在它也适用于我的常规Chrome。

问题很可能是其中一个扩展,但我没有设法将其缩小到特定的扩展名。

TL; DR 更改浏览器或从另一个Chrome用户打开网站可以解决我的问题。

答案 1 :(得分:1)

我确实遇到了完全相同的问题。由于Google Chrome缓存问题,这是一个问题......确实需要一段时间来确定原因......要解决它ctrl + SHIFT + R

在DAL上查看此问题:github Issue 858