【发布时间】:2020-12-22 18:33:30
【问题描述】:
我正在使用 django-autocomplete-light==3.8.1 和 Django==3.0.6。
我在旧版本的 django 中使用过它并且它可以工作,但是在新版本中我收到了这个 javascript 错误$ is not a function
这是我的设置:
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'dal',
'dal_select2',
'myapp',
'django.contrib.admin',
'django_extensions',
]
还有我的models.py
from django.db import models
class IP(models.Model):
ip_address = models.CharField(max_length=15, db_index=True, unique=True)
def __str__(self):
return self.ip_address
class Account(models.Model):
uid = models.PositiveIntegerField(db_index=True, unique=True)
name = models.CharField(max_length=15, db_index=True, unique=True)
ip = models.ForeignKey(IP, null=True, blank=True, on_delete=models.CASCADE)
def __str__(self):
return self.name
和我的管理员:
from django.contrib import admin
from dal import autocomplete
from .models import *
@admin.register(Account)
class AccountAdmin(admin.ModelAdmin):
list_display = ('name', 'ip')
form = AccountForm
@admin.register(IP)
class IPAdmin(admin.ModelAdmin):
list_display = ('ip_address',)
class AccountForm(autocomplete.FutureModelForm):
class Meta:
model = Account
fields = ('__all__')
widgets = {
'ip': autocomplete.ModelSelect2(url='ip-autocomplete'),
}
奇怪的是它没有找到jquery。 这是我在管理 html 页面中看到的内容:
<script type="text/javascript" src="/admin/jsi18n/"></script>
<link href="/static/admin/css/vendor/select2/select2.css" type="text/css" media="screen" rel="stylesheet">
<link href="/static/admin/css/autocomplete.css" type="text/css" media="screen" rel="stylesheet">
<link href="/static/autocomplete_light/select2.css" type="text/css" media="screen" rel="stylesheet">
<script type="text/javascript" src="/static/admin/js/vendor/jquery/jquery.js"></script>
<script type="text/javascript" src="/static/admin/js/vendor/select2/select2.full.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/autocomplete_light.js"></script>
<script type="text/javascript" src="/static/admin/js/core.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/select2.js"></script>
<script type="text/javascript" src="/static/admin/js/admin/RelatedObjectLookups.js"></script>
<script type="text/javascript" src="/static/autocomplete_light/i18n/en.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.js"></script>
<script type="text/javascript" src="/static/admin/js/urlify.js"></script>
<script type="text/javascript" src="/static/admin/js/prepopulate.js"></script>
有什么想法可以让 django-autocomplete-light 在管理页面内工作吗?
【问题讨论】: