3

从过去的 2 天开始,我真的失去了试图让 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)
4

2 回答 2

0

图像在那里,但可能不在您期望的位置。

您当前网站上的链接:

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

图像/文件实际在哪里:

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

%5C是 a而\不是 a /。这会有所不同,因为它们是键(键是“路径”,值是文件)。您可能想检查这些是如何上传的,并可能将它们规范化为常规斜线(这些是在您使用 Windows 机器时上传的吗?)。

于 2013-07-22T03:27:06.087 回答
0

这是您要求 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,您能否检查一下您的测试帐户在“我的个人资料”页面中是否有企鹅的照片?:) 感谢您的调查 :)

于 2013-07-20T04:02:14.263 回答