2014-07-13 4 views
0

나는 how to tango with django 튜토리얼을 마친 후 처음으로 웹 사이트를 구축하고 있는데 템플릿 언어를 사용하여 몇 가지 이미지를 추가하기 위해 노력하고, 대신에 나는 단지 작은 파란색 물음표 아이콘을 얻을이미지 표시 장고 모델

models.py

from django.db import models 

class Galery(models.Model): 
    title = models.CharField(max_length = 120) 

    def __unicode__(self): 
     return self.title 

class Image(models.Model): 
    galery = models.ForeignKey(Galery) 
    name = models.CharField(max_length = 50, unique = True) 
    picture = models.ImageField(upload_to='media') 
    description = models.CharField(max_length = 500) 
    materials = models.CharField(max_length = 150) 

    def __unicode__(self): 
     return self.name 

galery.html

{%extends 'home/base.html'%} 
{%load static%} 
{%block body%} 
<div class="col-lg-12"> 
    <h1 class="page-header">My Projects</h1> 
</div> 
{%if image%}  
    {%for n in image%} 
     <div class="col-lg-3 col-md-4 col-xs-6 thumb"> 
      <a class="thumbnail" href=""> 
       <img class="img-responsive" src="{% static 'media/{{n.image.url}}' %}"> 
      </a> 
     </div> 
    {%endfor%} 
{%endif%} 

{%endblock%} 

settings.py (일부)

,
PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir) 
MEDIA_ROOT = os.path.join(PROJECT_PATH,'media') 
TEMPLATE_DIRS = (
    TEMPLATE_PATH, 
) 
STATICFILES_DIRS = (
    STATIC_PATH, 
) 
STATIC_URL = '/static/' 

MEDIA_URL = '/media/' 

편집 : 내가 관리자

EDIT2에서 일부 이미지를 업로드 언급하는 것을 잊었다 : 내 urls.py에서 나는 사용자가 업로드 한 이미지를 제공하지 않습니다 기본적으로

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

답변

0

장고 있습니다. 다음 URL을 추가하여 설정하십시오. conf :

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

urlpatterns = patterns('', 
    # ... the rest of your URLconf goes here ... 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

이것은 개발 전용입니다. 생산에서 당신은 확장 성이 방법으로 파일을 제공해야합니다

을 더 많은 정보 (예 : S3, 또는 CDN 같은 파일 스토리지 서비스에서 직접 HTTP 서버 또는 더 나은.) : https://docs.djangoproject.com/en/1.6/howto/static-files/#serving-files-uploaded-by-a-user-during-development

+0

이 부분을 프로젝트 urls.py에 추가했지만 'TypeError : url()이 적어도 2 개의 인수를 사용합니다 (주어진 2 개)'오류가 발생합니다. – SuburbanFilth