如何解决django 自动完成灯未捕获的类型错误:$ 不是函数
我正在使用 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,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 在管理页面内工作吗?
解决方法
这很奇怪。尝试了很多事情,包括删除所有静态文件并再次运行 collectstatic 后,我意识到如果我清除浏览器缓存,问题就会消失。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。