2013-07-19 3 views
3

지난 2 일 동안 나는 내 인내심을 잃어 버렸습니다. Cloudfiles가 내 프로젝트 (cumulus 사용)에서 작동하도록했습니다. 여기에 몇 가지 이슈가 있습니다 :Rackspace Cloudfiles 및 Django Cumulus

1) 1. 때때로 사진을 업로드 할 때 (예 : 모델 생성 및 관리자 등록) 사진이 업로드 된 것처럼 보이지만, Photo.objects.all()로보기 기능을 사용하거나 cloudfiles 제어판으로 이동 ... 이미지가 단순히 열리지 않습니다. 리소스를 찾을 수 없습니다. 나는 지역 (chicago가 나에게 틀림이있다) 설정이 나로 장난하고 있는지 확인하고 두 번 확인한다 .... 그러나 나는 그렇게 생각하지 않는다.

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) 
+0

나는 새 사용자이기 때문에 이미지를 게시 할 수 없습니다.하지만 나중에 필요할 경우 참조 용으로 업로드 할 수 있습니다. –

+0

또한 이것이 일반적으로 적운 또는 구름 파일과 관련하여 문제가 될지 확실하지 않지만 ... 제가 직면 한 문제에 관해 도움이 되었기를 바랍니다. –

+0

디버깅을 도와 줄 수 있도록 사이트 링크를 게시 하시겠습니까? –

답변

0

당신이 카일을 요청한 이것은 뷰 기능입니다 - 여기

중요하다 내 설정 파일/내보기 기능 아무것도 있습니다.

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 %} 
난 그냥 지금은 그것을 할 수 없어 여전히 호스팅 사이트 (생산)의 이미지 (방법을 모르고)를 볼 수는 있지만 수 있다는 것을 확인

내 dev 환경.

카일 테스트 프로필에 'MYProfile'페이지에 펭귄 사진이 있는지 확인해주십시오. :) 그것을 찾아 주셔서 감사합니다 :)

+0

페이지로 이동하면 Penguins.jpg 리소스를 가져 오지 않는다는 것을 알 수 있습니다. :(그러나, 나는 사진 디렉토리가 (Penguins.jpg를 URL에서 삭제했다는 것을 알았습니다.) Rackspace에 티켓을 넣어 특정 파일을 보았습니까? 대개 매우 빠르게 응답하고 help. –

0

이미지 거기에,하지만 아마도 당신이 그들을 기대했다. 현재 사이트에

링크 :

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

이미지/파일이 실제로 :

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

%5C\보다는 /입니다. 이것은 키 (키가 "경로"이고 값이 파일 임)와 다른 점이 있습니다. 업로드 방법을 확인하고 가능하면 일반 슬래시로 정규화 할 수 있습니다 (Windows 컴퓨터를 사용하는 동안 업로드 한 것입니까?).

+0

예, windows 머신에서 업로드되었습니다. 어떻게 정상화합니까? 실제로 장고의 관리자를 사용하여 지금 업로드 중입니다. –

+0

개인적으로, 나는 펭귄 파일의 경로/이름을 적절한 슬래시로 변경합니다. 다른 경로를 올바른 경로로 업로드하십시오. 다른 모든 것들은 Cumulus를 사용하여 동일하게 나오야합니다. 아마도 이것에 대한 단위 테스트를 수행하는 것이 가치가 있습니다. –