1

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

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

4

1 回答 1

1

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

class MyGeoWidget(GeoPositionWidget):
     class Media:
         extend = False
         css = {
               'all': ('whatever.css',)
            }
         js = ('mygeoposition.js',)
于 2013-02-23T22:13:20.473 回答