0

我使用django-pipelineS3PipelineManifestStoragedjango-storagesValueError异常:使用collectstatic Django的

当我使用collectstatic上传和后处理(缩小)我的资产清空键名是不允许的, 我得到时后一个错误处理。

此前,collectstatic工作正常,没有给出任何错误。

下面是完整的回溯

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/__init__.py", line 330, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute 
    output = self.handle(*args, **options) 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 168, in handle 
    collected = self.collect() 
    File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 114, in collect 
    for original_path, processed_path, processed in processor: 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/storage.py", line 26, in post_process 
    packager.pack_stylesheets(package) 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 96, in pack_stylesheets 
    variant=package.variant, **kwargs) 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 105, in pack 
    paths = self.compile(package.paths, force=True) 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 34, in paths 
    return [path for path in self.sources 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/packager.py", line 26, in sources 
    for path in glob(pattern): 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/glob.py", line 18, in glob 
    return sorted(list(iglob(pathname))) 
    File "/app/.heroku/python/lib/python2.7/site-packages/pipeline/glob.py", line 29, in iglob 
    if staticfiles_storage.exists(pathname): 
    File "/app/.heroku/python/lib/python2.7/site-packages/storages/backends/s3boto.py", line 445, in exists 
    k = self.bucket.new_key(self._encode_name(name)) 
    File "/app/.heroku/python/lib/python2.7/site-packages/boto/s3/bucket.py", line 623, in new_key 
    raise ValueError('Empty key names are not allowed') 
ValueError: Empty key names are not allowed 

可否请你找出为什么这个错误是发生?

回答

0

这是与管道设置 PIPELINE_CSS ={ 'maths_landing_page':{ 'source_filenames':( 'html/css/maths-landing-page.css' ), 'output_filename':'html/css/maths-landing-page-consolidated.css', } }

一个问题,虽然实际的设置是 PIPELINE_CSS ={ 'maths_landing_page':{ 'source_filenames':( 'html/css/maths-landing-page.css', ), 'output_filename':'html/css/maths-landing-page-consolidated.css', } }

请注意,在元组中的逗号。

显然。

>>> type(('a')) 
<type 'str'> 

>>> type(('a',)) 
<type 'tuple'>