在过去的两天里,我真的失去了耐心,试图让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机器上上传的吗?)。