2012-05-15 3 views
1

동적 이미지를 표시하지 않는,하지만 난 여전히 내 문제가 해결되지 수 : (그것은 아마 내가 장고에 새로 온 사람으로서 기본적인 뭔가장고 템플릿 - 나는 이미지에 대한 다른 질문을 읽었습니다

그래서 나는 모델이 예 :

class Example(models.Model): 
    image = models.ImageField(upload_to = "examples/") 

내가 템플릿에 표시하고 싶은 나는 일반적인 detailView을 사용하여 뷰으로이 템플릿의 이미지 관련 부분 :..

<p>Image: <img src="{{ example.image.url }}"/></p> 

내 settings.py 변경이 :`

:
MEDIA_ROOT = '/home/nicpon/Dokumenty/aplikacje/images/' 
MEDIA_URL = '/images/' 

이 시점 사이트에서는

지금 나는 또한 urls.py를 변경된 (그 장소의에서 이미지를 표시 할 수 없습니다 때 표시되는 사각형있다) 이미지없이 미리 보여줍니다한다

if settings.DEBUG: 
    urlpatterns += patterns('', url(r'^images/(?P<path>.*)$', 
    'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})),  

하지만 오류가 발생했습니다. " 'list'객체에는 모든 페이지에 'resolve'속성이 없습니다.

편집 : 내가 넣을 때 {{example.image.url}}에 img 태그 외부에서 내 컴퓨터에서 해당 이미지에 /images/exapmles/specific_image.jpg 및 디렉토리를 보여줍니다/홈/nicpon/Dokumenty/aplikacje /images/examples/specific_image.jpg

그리고 역 추적 :

MEDIA_SERVER_URL = 'http://www.example.com/' 
MEDIA_URL = os.path.join(MEDIA_SERVER_URL, 'images/') 
0,123,414 :

Environment: 


Request Method: GET 
Request URL: http://127.0.0.1:8000/images/examples/sepcific_image.jpg 

Django Version: 1.4 
Python Version: 2.6.5 
Installed Applications: 
('django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.sites', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'django.contrib.admin', 
'example', 
'registration') 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.csrf.CsrfViewMiddleware', 
'django.contrib.auth.middleware.AuthenticationMiddleware', 
'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response 
    89.      response = middleware_method(request) 
File "/usr/local/lib/python2.6/dist-packages/django/middleware/common.py" in process_request 
    67.    if (not urlresolvers.is_valid_path(request.path_info, urlconf) and 
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in is_valid_path 
    531.   resolve(path, urlconf) 
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in resolve 
    420.  return get_resolver(urlconf).resolve(path) 
File "/usr/local/lib/python2.6/dist-packages/django/core/urlresolvers.py" in resolve 
    300.      sub_match = pattern.resolve(new_path) 

Exception Type: AttributeError at /images/examples/specific_image.jpg 
Exception Value: 'list' object has no attribute 'resolve' 
+1

'{{example.image. url}}'어딘가에 ''외부에 무엇이 표시되는지보십시오. – ilvar

+0

스택 트레이스는 무엇입니까? – goh

+0

질문에 정보를 추가했습니다. – Nicpon

답변

2

이 같은 일을보십시오 당신의 settings.py입니다다음 또한

src="{{ MEDIA_URL }}{{ example.image.url }}" 

권한을 확인

수행

  1. 미디어 디렉토리 (/ 홈/nicpon/Dokumenty/aplikacje/이미지 /) : 웹 서버에서 읽을 수 있도록해야 (예 : chgrp하지 www- 데이터 이미지)
  2. 웹 서버는 적절하게 제공되는 미디어를 처리하도록 구성되어야합니다. 이상적으로 별도의 미디어 서버를 사용할 수 있지만 장고를 제공하는 경우 URL을 확인해야합니다 (urls.py의 경우처럼)