如何在管理页面中将自定义脚本实现到django?蟒蛇

时间:2017-02-26 00:19:33

标签: javascript python django

我知道我可以在django admin中添加自定义的JS但是我可以在django admin中添加<script>var a = 'b';</script>这样的内容吗?

现在我正在使用像

这样的东西
meta Media:
     js = ['/site_media/choice.js']

我不想使用上述原因的原因是,我有一个类似上面的脚本,脚本将在不同的管理模型页面中以不同的方式运行。

例如在上面的choice.js我有一个函数run()

在模特管理员A中我希望此页面使用run('abc')但在模型管理员B中我希望此页面使用run('eee')

如果添加js而不是只输入脚本,那意味着我将不得不创建很多js

有人可以帮我一把吗? (目前使用django 1.10.5)

编辑:对不起我的不好,我确实尝试先使用模板,其他几种方式但没有工作

1 个答案:

答案 0 :(得分:1)

class CustomAdmin(ModelAdmin):
    class Media:
        css = []
        js = ['sites/javascriptfile.js']

在django admin中添加js文件或css文件是正确的代码 只需检查settings.py文件中的静态路径,路径应该相对于静态路径。

好的我知道了,你可以在javascript函数中查看Url 如果是为了#abc&#39;你可以在javascript中运行(&#39; abc&#39;)if condition,或者另一个。

您可以通过

查看网址
$(document).ready(function () {
    if(window.location.href.indexOf("add") > -1) {
       // This is Add Page
       run('abc')
    }
    else if(window.location.href.indexOf("change") > -1) {
       // This is Change Page
       run('def')
    }
});

还有更多方法可以检查网址。