2013-02-23 4 views
1

Я пытаюсь django-geoposition (фактически, сам django). Я хотел бы использовать мою собственную версию статического файла geoposition.js. Поэтому в рамках моего проекта я создал static/geoposition/geoposition.js (STATIC_ROOT, определяемый как static под корнем проекта), с альтернативным содержимым, которое я хотел. Все работает нормально на локальном сервере.Переопределение статического файла приложения?

Но, когда я запускаю python manage.py collectstatic, оригинал копируется. Я понимаю, почему это так. Теперь вопрос в том, как мне переопределить этот файл js, который поставляется с приложением, и использовать его на своем месте? К сожалению, это использует виджет и определяет его файлы Media, а не из шаблона, который я мог бы легко переопределить и использовать свой js-контент с другим именем.

+0

использовать другое имя для '.js' или заменить исходную или пытается манипулировать заказ - https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#collectstatic – dmg

ответ

0

Вы можете легко расширить этот виджет и переопределить его носитель с статическими файлами:

class MyGeoWidget(GeoPositionWidget): 
    class Media: 
     extend = False 
     css = { 
       'all': ('whatever.css',) 
      } 
     js = ('mygeoposition.js',) 
Смежные вопросы