2015-02-25 15 views
5

Korzystając z serwera dev django (1.7.4), chcę dodać niektóre nagłówki do wszystkich plików statycznych, które obsługuje.Serwer django dev, dodając nagłówki do plików statycznych

Wygląda na to, że może przejść do widoku niestandardowego django.conf.urls.static.static, tak:

if settings.DEBUG: 
    from django.conf.urls.static import static 
    from common.views.static import serve 

    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
    urlpatterns += static(settings.STATIC_URL, 
     document_root=settings.STATIC_ROOT, view=serve) 

And common.views.static.serve wygląda następująco:

from django.views.static import serve as static_serve 

def serve(request, path, document_root=None, show_indexes=False): 
    """ 
    An override to `django.views.static.serve` that will allow us to add our 
    own headers for development. 

    Like `django.views.static.serve`, this should only ever be used in 
    development, and never in production. 
    """ 
    response = static_serve(request, path, document_root=document_root, 
     show_indexes=show_indexes) 

    response['Access-Control-Allow-Origin'] = '*' 
    return response 

jednak po prostu o django.contrib.staticfiles w INSTALLED_APPS dodaje statycznych adresów URL automatycznie i wydaje się, że nie ma sposobu na ich obejście. Usunięcie django.contrib.staticfiles z INSTALLED_APPS powoduje, że to działa, jednak jeśli to zrobię, statyczne pliki templatetag nie będą już dostępne.

Jak mogę przesłonić nagłówki wyświetlane dla plików statycznych za pomocą serwera deweloperskiego django?

+0

hmmm, zakładam, że masz swoje powody, ale nie może to osiągnąć poprzez definiowanie nagłówków jako zawierać wewnątrz blok ogólnego szablonu, a następnie rozszerz ten szablon na rzeczywiste szablony. –

+0

Nie jest to plik html, dotyczy plików czcionek. – synic

+1

oh, ok. cóż, tak jak powiedziałem, założyłem, że masz swoje powody, dlatego nie napisałem tego jako odpowiedź. –

Odpowiedz