2013-09-02 21 views
7

js ve css'yi sıkıştırmak için django-pipeline yapılandırdım. Js çalışırken, css dosyalarını bulamıyor.Django boru hattı statik css dosyalarını bulamıyor

Dosyalar, findstatic komutu kullanılarak bulunabilir. Tek bir css kuralı olan tek bir dosyayla test ediyorum.

% ./manage.py collectstatic --traceback               

You have requested to collect static files at the destination 
location as specified in your settings. 

This will overwrite existing files! 
Are you sure you want to do this? 

Type 'yes' to continue, or 'no' to cancel: yes 
Copying '/Users/apoorvparijat/Documents/Work_Related/programming/my_projects/analytics_app/devel/stable/static/css/test.css' 
Traceback (most recent call last): 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/core/management/base.py", line 222, in run_from_argv 
self.execute(*args, **options.__dict__) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/core/management/base.py", line 255, in execute 
output = self.handle(*args, **options) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/core/management/base.py", line 385, in handle 
return self.handle_noargs(**options) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 164, in handle_noargs 
collected = self.collect() 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 120, in collect 
dry_run=self.dry_run) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/storage.py", line 28, in post_process 
packager.pack_stylesheets(package) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/packager.py", line 94, in pack_stylesheets 
variant=package.variant, **kwargs) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/packager.py", line 103, in pack 
paths = self.compile(package.paths, force=True) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/packager.py", line 34, in paths 
return [path for path in self.sources 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/packager.py", line 26, in sources 
for path in glob(pattern): 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/glob.py", line 18, in glob 
return sorted(list(iglob(pathname))) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/glob.py", line 29, in iglob 
if default_storage.exists(pathname): 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/pipeline/storage.py", line 89, in exists 
exists = self.finders.find(name) is not None 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 239, in find 
result = finder.find(path, all=all) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 79, in find 
matched_path = self.find_location(root, path, prefix) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/contrib/staticfiles/finders.py", line 96, in find_location 
path = safe_join(root, path) 
File "/Users/apoorvparijat/.virtualenvs/stable/lib/python2.7/site-packages/django/utils/_os.py", line 77, in safe_join 
'path component (%s)' % (final_path, base_path)) 
ValueError: The joined path (/) is located outside of the base path component (/Users/apoorvparijat/Documents/Work_Related/programming/my_projects/analytics_app/devel/stable/static) 

cevap

22

Sen virgül kaçırdığınızı - İşte benim yapılandırma

PIPELINE_CSS = { 
    'all_css': { 
     'source_filenames': (
      'css/test.css' 
     ) 
    }, 
    'output_filename': 'css/main.css' 
} 

PIPELINE = True 
PIPELINE_CSS_COMPRESSOR = None 

Ve hata mesajı yok. Eğer sadece bir öğeli bir tuple varsa

'source_filenames': (
    'css/test.css' # add a comma here 
) 

, aksi halde Python bir ifade değil, bir tanımlama grubu bunu dikkate alacaktır, sonuna bir virgül eklemeniz gerekir.

İlgili konular