django 에서 MEDIA URL 지정방법

Settings.py 에서 MEDIA URL과 Root를 아래와 같이 지정하고
MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(
    os.path.abspath(os.path.dirname(__file__)),
    'media',
)

모델에서 이미지필드를 지정한다.

class Item(models.Model):
    item_name = models.CharField(max_length=100)
    item_desc = models.TextField()
    item_image = models.ImageField(upload_to='image')

    def __unicode__(self):
        return self.item_name

Settings.py에서 현재 프로젝트의 절대경로 밑에 media로 되어있어
파일을 업로드 하면 프로젝트폴더/프로젝트폴더/media/image 폴더에 파일이 들어온다.
그리고 프로젝트의 URL에 아래와 같이 static을 추가한다.

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('',
                       url(r'^admin/', include(admin.site.urls)),
                       url(r'^shop/', include('shop.urls')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


앱폴더에서 호출할때는 다음과 같이 호출하면 된다.

<li><img src="{{ item.item_image.url }}">{{ item.item_name }}</img></li>

실제 URL은 http://domain/media/image/1.jpg 이런식으로 호출된다.

댓글

이 블로그의 인기 게시물

dtsrun 실행하기

[MS SQL] SP수행 시간 및 작업빈도 확인

Slug가 뭘까?