autocomplete_fields和Media class中的JS有什么联系?
What is the connection between autocomplete_fields and JS in Media class?
我使用 Django。
我的 admin.py
:
class CardInlineAdmin(admin.StackedInline):
model = Card
autocomplete_fields = ['project', 'course', 'vacancy', 'news', ]
@admin.register(Section)
class SectionAdmin(admin.ModelAdmin):
list_display = ('name', 'id', 'priority', 'is_active',)
inlines = (CardInlineAdmin,)
search_fields = ['project', 'course', 'vacancy', 'news']
class Media:
js = (
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'js/card_in_section.js',
)
如果我在管理页面上打开 SectionAdmin,文件 card_in_section.js
将不起作用。
如果我从 CardInlineAdmin 中删除 autocomplete_fields
,文件 card_in_section.js
将起作用。
这种行为的原因是什么?
我解决了我的问题)
我检查了管理页面上的 Network
,了解到由于某种原因我的文件 card_in_section.js
在 autocomplete.js
之前加载。
因此,我尝试在 card_in_section.js
之前将 autocomplete.js
添加到 class Media,它解决了我的问题。
class Media:
js = (
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'admin/js/autocomplete.js',
'js/card_in_section.js',
)
我使用 Django。
我的 admin.py
:
class CardInlineAdmin(admin.StackedInline):
model = Card
autocomplete_fields = ['project', 'course', 'vacancy', 'news', ]
@admin.register(Section)
class SectionAdmin(admin.ModelAdmin):
list_display = ('name', 'id', 'priority', 'is_active',)
inlines = (CardInlineAdmin,)
search_fields = ['project', 'course', 'vacancy', 'news']
class Media:
js = (
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'js/card_in_section.js',
)
如果我在管理页面上打开 SectionAdmin,文件 card_in_section.js
将不起作用。
如果我从 CardInlineAdmin 中删除 autocomplete_fields
,文件 card_in_section.js
将起作用。
这种行为的原因是什么?
我解决了我的问题)
我检查了管理页面上的 Network
,了解到由于某种原因我的文件 card_in_section.js
在 autocomplete.js
之前加载。
因此,我尝试在 card_in_section.js
之前将 autocomplete.js
添加到 class Media,它解决了我的问题。
class Media:
js = (
'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'admin/js/autocomplete.js',
'js/card_in_section.js',
)