2011-08-16 17 views
8
ben statik yapısını anlamaya çalışıyorum

sürdürmeye 1.3 denemeden djangoDjango statik yapı

# Absolute path to the directory static files should be collected to. 
# Don't put anything in this directory yourself; store your static files 
# in apps' "static/" subdirectories and in STATICFILES_DIRS. 
# Example: "/home/media/media.lawrence.com/static/" 
STATIC_ROOT = BASE_PATH+'/static/' 

# URL prefix for static files. 
# Example: "http://media.lawrence.com/static/" 
STATIC_URL = '/static/' 

# URL prefix for admin static files -- CSS, JavaScript and images. 
# Make sure to use a trailing slash. 
# Examples: "http://foo.com/static/admin/", "/static/admin/". 
ADMIN_MEDIA_PREFIX = '/static/admin/' 

# Additional locations of static files 
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

Ben manage.py komut collectstatic kullanırsanız, colle: Ben aşağıda gibi yaptım settings.py bu ayarları ayarlamak zorunda (BasePath geçerli dizine kısayol yoludur) tüm statik dosyaları (yönetici dosyaları dahil) beklendiği gibi 'statik' bir dizinde c ... (ana proje dir içinde)

Ancak bu dizini STATICFILES_DIRS tuple'a ekleyene kadar içerik henüz sunulmuyor, Ancak, STATIC_ROOT dizin ayarını değiştirmek zorundayım çünkü aksi halde ben de aynı olamayacaklar ...

Sanırım işe yaramaz hale gelmek için ne yapmam gerektiğinden bariz bir şekilde görüyorum çünkü

+1

Öyleyse .. dosyalarınızın aslında "STATIC_DIRS" dizinine kaydedildiğini ve "STATIC_ROOT" ifadesini Django'nun statik dosyaları toplayabileceği bir __empty dizinine yönlendirdiniz mi? – agf

cevap

-5

ne dersiniz:

STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
    STATIC_ROOT, 
) 
+1

Hayır, tam olarak hatalı bölüm ... Yanlış olarak yapılandırılmış: STATICFILES_DIRS ayarı STATIC_ROOT ayarı – RoundTripToNowhere

+0

içermemelidir Bu seçenek ile özel olarak açık artırır! –

4

STATICFILES_DIRS, uygulamanıza özgü olmayan statik dosyaları bildirmek için kullandığınız bir ayardır. STATIC_ROOT, statik dosyaların toplandıklarında yerleştirildiği yerdir. django's docs itibaren

:..

"Projeniz belki de belirli bir uygulamanın bağlı değildir STATICFILES_DIRS ayarı statik dosyaları yüklerken kontrol etmek dosya sistemi dizinleri bir başlık olur statik varlıkları olacak bir arama yolu var varsayılan olarak boş. STATICFILES_DIRS dokümana bu ek yol listesinin nasıl genişletileceğini görün.

"STATIC_ROOT ayarını, statik dosyalarınızın toplanmasını istediğiniz dosya sistemi yolunu, collectstatic yönetim komutunu kullandığınızda göstermek üzere ayarlayın."

10

yerel kalkınma için settings.py bu yapısını Bununla

Project 
    Project (project directory with settings.py etc..) 
     stylesheets 
    someapp 
    static 
     base.css 

deneyin:

import os 
ROOT_PATH = os.path.dirname(__file__) 
STATIC_ROOT = os.path.join(ROOT_PATH, 'static') 
STATIC_URL = '/static/' 
STATICFILES_DIRS = (
    os.path.join(ROOT_PATH, 'stylesheets'), 
) 

python manage.py runserver ile yerel sunucuyu çalıştırın ve Sen stil görmelisiniz http://localhost:8000/static/base.css

gidin.

İlgili konular