【问题标题】:how to implement custom script into django in admin page? python如何在管理页面中将自定义脚本实现到 django 中? Python
【发布时间】:2017-07-16 17:45:15
【问题描述】:

我知道我可以在 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)

已编辑:对不起,我确实尝试过先使用模板和其他几种方法,但都没有奏效

【问题讨论】:

标签: javascript python django


【解决方案1】:
class CustomAdmin(ModelAdmin):
    class Media:
        css = []
        js = ['sites/javascriptfile.js']

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

好的,我知道了,您可以在 javascript 函数中检查 Url 如果是 'abc',你可以在 javascript 中运行 run('abc') if 条件,否则运行另一个。

您可以通过以下方式查看网址

$(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')
    }
});

还有更多方法可以检查 URL。

【讨论】:

  • 我不是这个意思
猜你喜欢
  • 2014-11-18
  • 1970-01-01
  • 2011-01-17
  • 2021-05-07
  • 2016-12-29
  • 2023-03-16
  • 2018-10-27
  • 1970-01-01
  • 2016-05-04
相关资源
最近更新 更多