Rackspace Cloudfiles and Django Cumulus



在过去的两天里,我真的失去了耐心,试图让Cloudfiles为我的项目工作(使用积云)。以下是一些问题:

1.)有时,当我使用管理员上传任何照片时(创建模型并向管理员注册)。。。照片看起来像是上传的,但当我尝试使用photo.objects.all()的视图函数访问它时,甚至转到cloudfiles控制面板。。。图像根本无法打开。找不到资源。我反复检查地区(芝加哥对我来说是默认的)设置是否对我不利……但我不这么认为。

2.)我已经使用collectstatic方法成功地收集了容器中的所有静态文件,并且我能够成功地为它们提供服务。当我点击链接时(例如)-http://ed770b871265201bf471-14f03984d90730040890dd30a2d85248.r68.cf2.rackcdn.com/admin/css/base.css

我能看到结果,我相信你也能看到。

但当我试图在我的模板中通过STATIC_URL使用它们时,管理页面没有css工作,但我的登录/主页完全用我的风格呈现。

这是我的设置文件/我的视图功能和任何重要的东西-

STATIC_ROOT = ''
STATIC_URL = 'http://ed770b871265201bf471-14f03984d90730040890dd30a2d85248.r68.cf2.rackcdn.com/'
STATICFILES_DIRS = (
    os.path.join(PROJECT_DIR,'static'),
)
CUMULUS = {
    'USERNAME': '***',
    'API_KEY': '****',
    'CONTAINER': 'photos',
    'STATIC_CONTAINER':'static',
    'SERVICENET': False, # whether to use rackspace's internal private network
    'FILTER_LIST': [],
    'TIMEOUT' : 60
}
DEFAULT_FILE_STORAGE = 'cumulus.storage.CloudFilesStorage'
STATICFILES_STORAGE = 'cumulus.storage.CloudFilesStaticStorage'

模型文件部分

class Photo(models.Model):
    username = models.ForeignKey(User)
    image = models.ImageField(upload_to='photos')
    alt_text = models.CharField(max_length=255)
admin.site.register(Photo)

这是您请求kyle时的视图函数。

def profile_detail(request):
        if request.user.is_authenticated():
            username = request.user.get_username()
            # userid = User.objects.get(username=username).values('__id')
            userdetails = User.objects.filter(username=username)
            photo = Photo.objects.get(username=request.user.id)
            return render_to_response('profile_detail.html',{'userdetails':userdetails,'username':username,'photo':photo},
                                        context_instance=RequestContext(request))

和profile_detail的模板-

{% extends 'profile.html' %}
{% load bootstrap_toolkit %}
{% block content %}
    <img src="{{ photo.image.url }}" alt="{{ photo.alt_text }}" />
    <br>
    <p>{{ user.first_name }}</p>
    <p>{{ user.last_name }}</p>
    <p>{{ user.email }}</p>
{% endblock %}

我刚刚检查了我是否可以在托管站点(生产)上查看图像(不知道如何查看),但仍然无法在我的开发环境中查看。

Kyle,你能检查一下你的测试账户在"MYProfile"页面上是否有企鹅的照片吗?:)感谢您的调查:)

图像在那里,但可能不是您期望的地方。

您当前网站上的链接:

http://d12df125d01b8a258a3a-8112fdc02f7d385b44f56eb9e899d81c.r88.cf2.rackcdn.com/photos/Penguins.jpg

图像/文件的实际位置:

http://d12df125d01b8a258a3a-8112fdc02f7d385b44f56eb9e899d81c.r88.cf2.rackcdn.com/photos%5CPenguins.jpg

CCD_ 1是CCD_ 2而不是CCD_。这是有区别的,因为这些是键(键是"路径",值是文件)。你可能想检查一下这些是如何上传的,并可能将它们标准化为正斜杠(这些是在你在Windows机器上上传的吗?)。

最新更新