2013-02-20 6 views
0

템플릿에 이미지를 표시 할 수 없습니다. 웹 사이트 소스템플릿의 이미지가 표시되지 않습니다.

photo = models.ImageField(upload_to='media/images') 

(파이어 폭스에서 CTRL + U) :

settings.py 내 모델

MEDIA_ROOT = os.path.join(DIRNAME, 'media') 

MEDIA_URL = '' 

STATIC_ROOT = os.path.join(DIRNAME, 'static') 

STATIC_URL = '/static/' 

# Additional locations of static files 
STATICFILES_DIRS = (
    os.path.join(DIRNAME, 'my_static'), 
) 

:

<img class="preview_image" src="static/images/test_1.png" ale="photo" /> 

표시 방법이 내 코드입니다 이미지가 올바 릅니까? 변경 MEDIA_URL에 의해

+0

'src = "/ static/images/test_1.png" – stalk

+0

첫 번째 슬래시를 추가하십시오. 시도한 경우 127.0.0.1:8000/static/images/test_1.png -> 페이지를 찾을 수 없음 (404) – user2090552

+0

어떻게 이미지 파일 URL을 템플릿에 넣으시겠습니까? – Rohan

답변

1
이처럼 MEDIA_URL 변경

귀하의 템플릿은 아래와 같습니다 :

<img src="{{ picture.photo.url }}"> 
+0

감사합니다. 이 URL의 conf는 좋다 – user2090552

+0

도와 드리겠습니다 ... :) – arulmr

0

시작 -

MEDIA_URL = '/media/' 

그런 다음 모델에

photo = models.ImageField(upload_to='images') 

즉 I로 어디 말할 수 없습니다 (당신의 MEDIA_ROOT 디렉토리에 이미지 폴더 추가를 upload_to 매개 변수를 변경 이제

/path/to/your/media_root/images 

당신이 DISPL 수 있습니다) 당신의 DIRNAME 변수가 무엇인지 모르는 님 템플릿의 사진을 사용하여 -

{% your_object.photo.url %} 

을 템플릿에없는 하드 코드의 URL의 수행 -

<img class="preview_image" src="static/images/test_1.png" ale="photo" /> 

가되어야한다 -

<img class="preview_image" src="{% your_object.photo.url %}" ale="photo" /> 

ImageField에 문서에서보세요 및 serving static files.

모델을 사진과 함께 저장하면 사진이 <MEDIA_ROOT>/<upload_to>에 업로드됩니다. http : http://localhost:8000/<MEDIA_URL>/<upload_to>에서 http를 통해 제공됩니다. 그러나 모델에 사진을 저장하면 데이터베이스는 파일의 위치에 대한 참조를 유지하여 <img src="{% object.photo.url %}">과 함께 이미지를로드 할 수 있습니다.

photo = models.ImageField(upload_to='images') 

urls.py이 추가 :

from django.conf import settings 
urlpatterns += patterns('', 
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), 
) 

그런 다음에 업로드 된 이미지에 액세스

MEDIA_URL = '/media/' 

그런 upload_to 매개 변수를 다음과 같이 변경합니다

관련 문제