Django-Autocomplete-light 小部件未显示
Django-Autocomplete-light widgets not showing up
我刚刚安装了 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 的小部件。
As I have the same problem, here is the content of my console in 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.
It seems that jQuery is needed but not found, but I can't find a way to link it properly.
It is also running perfectly in Chromium. I don't have any other browser to test.
经过一些测试,我发现这在 Firefox 和 Chrome 隐身模式下运行良好。我已禁用所有 chrome 扩展,现在它也适用于我的常规 chrome。
问题很可能是其中一个扩展,但我没有设法将其缩小到特定的扩展。
长话短说;博士
更改浏览器或从另一个 chrome 用户打开网站解决了我的问题。
我确实遇到了完全相同的问题。由于 google chrome 缓存,这是一个问题...我确实花了一些时间来确定原因...解决它 ctrl + SHIFT + R
在 DAL 上查看此问题:github Issue 858
我刚刚安装了 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 的小部件。
As I have the same problem, here is the content of my console in 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.
It seems that jQuery is needed but not found, but I can't find a way to link it properly.
It is also running perfectly in Chromium. I don't have any other browser to test.
经过一些测试,我发现这在 Firefox 和 Chrome 隐身模式下运行良好。我已禁用所有 chrome 扩展,现在它也适用于我的常规 chrome。
问题很可能是其中一个扩展,但我没有设法将其缩小到特定的扩展。
长话短说;博士 更改浏览器或从另一个 chrome 用户打开网站解决了我的问题。
我确实遇到了完全相同的问题。由于 google chrome 缓存,这是一个问题...我确实花了一些时间来确定原因...解决它 ctrl + SHIFT + R
在 DAL 上查看此问题:github Issue 858