Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用django积云服务静态文件?_Django_Rackspace Cloud_Django Staticfiles - Fatal编程技术网

如何使用django积云服务静态文件?

如何使用django积云服务静态文件?,django,rackspace-cloud,django-staticfiles,Django,Rackspace Cloud,Django Staticfiles,我正在尝试使用Rackspace CloudFiles提供文件。我目前只在本地开发服务器上使用Django 1.4.2进行了尝试 我可以使用cumulus的syncstatic管理命令成功上传我的所有静态资产,但我似乎无法在我的站点上以相同的设置显示它们 如果我的相关设置为: STATIC_URL = '/static/' CUMULUS = { 'USERNAME': 'myusername', 'API_KEY': 'myapikey', 'CONTAINER': '

我正在尝试使用Rackspace CloudFiles提供文件。我目前只在本地开发服务器上使用Django 1.4.2进行了尝试

我可以使用cumulus的
syncstatic
管理命令成功上传我的所有静态资产,但我似乎无法在我的站点上以相同的设置显示它们

如果我的相关设置为:

STATIC_URL = '/static/'
CUMULUS = {
    'USERNAME': 'myusername',
    'API_KEY': 'myapikey',
    'CONTAINER': 'mycontainername',
    'STATIC_CONTAINER': 'mycontainername',
}
DEFAULT_FILE_STORAGE = 'cumulus.storage.CloudFilesStorage'
STATICFILES_STORAGE = 'cumulus.storage.CloudFilesStaticStorage'
然后,当我运行
syncstatic
时,我的所有应用程序的静态文件都会像我预期的那样上传到
/mycontainername/static/
。但当我在admin中加载页面时,它会忽略
静态URL
,并尝试从URL(如
URL)服务资产http://uniquekey....r82.cf2.rackcdn.com/path/to/file.css
而不是
http://uniquekey....r82.cf2.rackcdn.com/static/path/to/file.css

此外,我不知道如何让我的公共(非管理员)页面使用CloudFiles上的静态文件,而不是从本地
/static/
目录提供它们


我是否错过了一些关键的设置,或者我做错了什么

我也有同样的问题。我所做的就是

git克隆

编辑上下文\u processors.py

from django.conf import settings

from cumulus.storage import CloudFilesStorage

def cdn_url(request):
    """
    A context processor to expose the full cdn url in templates.

    """
    cloudfiles_storage = CloudFilesStorage()
    static_url = '/'
    container_url = cloudfiles_storage._get_container_url()
    cdn_url = container_url + static_url

    print {'CDN_URL': cdn_url}

    return {'CDN_URL': cdn_url}
完成后,使用sudo python setup.py安装它


请注意,来自django cumulus的context_processors.py实际上相当慢

,这要感谢amdstorm。大概您可以从
settings
获取
static\u url
,而不是硬编码。我不确定你是不是想把打印声明留在那里:)我不是想把打印声明留在那里!很抱歉我意识到当你编译静态资产时,静态url没有被使用,这就是为什么我使用它作为一个/,坏变量命名我的坏