【问题标题】:Overriding a static file of an app?覆盖应用程序的静态文件?
【发布时间】:2013-02-23 18:13:50
【问题描述】:

我正在尝试django-geoposition(实际上是 django 本身)。我想使用我自己版本的静态文件geoposition.js。所以在我的项目下,我创建了一个static/geoposition/geoposition.jsSTATIC_ROOT 在项目根目录下定义为static),其中包含我想要的替代内容。在本地开发服务器中一切正常。

但是,当我运行python manage.py collectstatic 时,原来的会被复制过来。我有点明白为什么会这样。现在,问题是,我如何覆盖应用程序附带的这个 js 文件并使用我自己的?不幸的是,这使用了一个小部件并在那里定义其 Media 文件,而不是从模板中定义,我可以轻松地覆盖并使用不同名称的 js 内容。

【问题讨论】:

标签: python django static django-geoposition


【解决方案1】:

您可以轻松扩展此小部件并使用静态文件覆盖其媒体:

class MyGeoWidget(GeoPositionWidget):
     class Media:
         extend = False
         css = {
               'all': ('whatever.css',)
            }
         js = ('mygeoposition.js',)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 2014-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多