2011-10-20 3 views
2

django-photologue을 설치했으며 데이터베이스에 몇 가지 사진을 추가했습니다. 사진이나 미리보기 이미지가 표시되지 않는다는 것을 제외하면 기본 사이트 기법이 잘 작동하는 것 같습니다. 이미지와 미리보기 이미지는 .. \ django \ media \ photologue \ photos에 있습니다. photo_detail 페이지를 참조하십시오django-photologue가 사진의 잘못된 URL을 구성합니다.

는 결과 HTML 소스는 다음과 같습니다 다음의 img src에 파일이 표시되지 않습니다 때문에 올바른 위치에 해결하지 않는 것처럼

<title>Greece 3</title> 
<h1>Greece 3</h1> 
<div class="gallery-photo"> 
    <a href="photologue/photos/greece003.jpg"><img src="photologue/photos/cache/greece003_display.jpg" alt="Greece 3"/></a> 
    <p>no caption yet</p> 
</div> 
<h2>This photo is found in the following galleries:</h2> 
<ol> 
    <li> 
    <a title="Greece 2" href="/photologue/photo/greece-2/"><img src="photologue/photos/cache/greece002_thumbnail.jpg"/></a> 
    <a href="/photologue/gallery/greece/">LSB Photos - Greece</a> 
    <a title="Greece 4" href="/photologue/photo/greece-4/"><img src="photologue/photos/cache/greece004_thumbnail.jpg"/></a> 
    </li> 
</ol> 

나에게 보인다. 나는 MEDIA_ROOT 및 MEDIA_SITE가 정확하고 다른 응용 프로그램의 미디어가 예상대로 작동한다고 생각합니다.

>>> import settings 
>>> settings.MEDIA_ROOT 
'c:/design.ed/django/media/' 
>>> settings.MEDIA_URL 
'' 

다음은 photologue 모듈 자체에서 제공하는 것입니다.

>>> from photologue import models as phl 
>>> phl.PHOTOLOGUE_DIR 
'photologue' 
>>> phl.PHOTOLOGUE_PATH 
>>> phl.get_storage_path(None, 'foo.jpg') 
'photologue\\photos\\foo.jpg' 

무엇이 여기에 있습니까?

답변

0

나는 내 자신의 질문에 대답했다고 생각합니다. 문제는 photologue와는 아무런 관련이 없습니다. 설정보다는 .MEDIA_URL이 올바르게 설정되지 않았습니다. (이전에는 장고를 통해 실제로 미디어를 제공하지 않았기 때문에).

제 경우에는 기본 Django 서버를 사용하여 로컬로 실행하고있었습니다 (프로덕션을 수행하기로되어있는 것은 아닙니다). 그래서 나는 내 urls.py에 이것을 가지고 있었다 :

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
    {'document_root': MEDIA_ROOT, 'show_indexes': True}), 

그러나 MEDIA_URL은 기본 빈 문자열이었다. 대신 난이 (모두 선행 및 후행 슬래시가이 경우에 필요) 있어야하는데, 모든 마법이 일을 어디에 어떤

MEDIA_URL = '/site_media/' 

로 변경되었습니다. photologue 세부 사항으로 문제를 흐리게하기위한 사과.

관련 문제