2015-02-25 18 views
5

Django dev sunucusunu (1.7.4) kullanarak, hizmet verdiği tüm statik dosyalara bazı üstbilgiler eklemek istiyorum.django dev sunucusu, statik dosyalara üstbilgileri ekleme

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) 

Ve common.views.static.serve şuna benzer::

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 

Ancak basitçe INSTALLED_APPS içinde django.contrib.staticfiles statik URL'ler ekleyen sahip Öyle gibi django.conf.urls.static.static için özel bir görünüm iletebilirsiniz gibi

görünüyor otomatik olarak ve onları geçersiz kılmak için bir yol yok gibi görünüyor. django.contrib.staticfiles'un INSTALLED_APPS'dan kaldırılması bunu yapar, ancak bunu yaparsam, staticfiles şablon etiketleri artık kullanılamaz.

Django geliştirme sunucusunu kullanarak statik dosyalar için sunulan üstbilgileri nasıl geçersiz kılabilirim?

+0

hmmm, ben size nedenleri var varsayalım, ancak bir içinde dahil olarak başlıklarını tanımlayarak bunu başarmak edemedi jenerik bir şablon üzerinde bir blok ve daha sonra bu şablonu gerçek şablonlarınıza uzatın. –

+0

Bu html dosyaları için değil, yazı tipi dosyaları içindir. – synic

+1

oh, tamam. iyi, dediğim gibi, nedenlerinizi aldığınızı düşünmüştüm, bu yüzden bir cevap olarak yazmadım. –

cevap

3

staticfiles uygulama overrides the core runserver komut ancak statik dosyaların otomatik porsiyon devre dışı bırakmanızı sağlar:

python manage.py runserver --nostatic