当我在 django admin(更新表单)中显示表单时出现错误:
Uncaught ReferenceError: django is not defined
错误在以下行中:
(function($) {
$("#participations-group .tabular.inline-related tbody tr").tabularFormset({
prefix: "participations",
adminStaticPrefix: '/static/admin/',
addText: "Ajouter un objet Participation À Une Campagne supplémentaire",
deleteText: "Supprimer"
});
})(django.jQuery);
代码是由 django 生成的。
在我的管理表单中,我正在使用一个 js 文件:
class CampaignAdmin(admin.ModelAdmin):
class Media:
js = (
'js/admin/campaign.min.js',
)
正如这篇文章 https://stackoverflow.com/a/10584539/1875861 所建议的那样,我添加了两个js文件:
class CampaignAdmin(admin.ModelAdmin):
class Media:
js = (
'admin/js/jquery.min.js',
'admin/js/jquery.init.js',
'js/admin/campaign.min.js',
)
但它仍然不起作用:(。
问题出在哪里?
如果你使用的是 1.9 或 1.8,你不需要将 jquery 添加到你的 js 媒体中:参见:https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#contrib-admin-jquery
您是否尝试过此配置?
(function($){
$(document).ready(function(){
$("#participations-group .tabular.inline-related tbody tr").tabularFormset({
prefix: "participations",
adminStaticPrefix: '/static/admin/',
addText: "Ajouter un objet Participation À Une Campagne supplémentaire",
deleteText: "Supprimer"
});
});
});
}(django.jQuery));
我关注了这篇文章:http://coreymaynard.com/blog/adding-jquery-event-listeners-to-dynamically-creat/