2015-10-15 5 views
0

Я новичок в разработке Django , и у меня есть проблема. Я не знаю, где ошибка.Загруженное изображение не отображается в шаблоне Django 1.8

Следит некоторые выдержки из моего кода:

Мои настройки

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.template.context_processors.media', 
      ], 
     }, 
    }, 
] 


STATIC_URL = '/static/' 

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_in_env", "static_root") 

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static_in_pro", "our_static"), 
) 

MEDIA_URL = '/media/' 

MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_in_env", "media_root") 

Мой urls.py

urlpatterns = [ 
    url(r'^admin/', include(admin.site.urls)), 
    #url(r'^accounts/', include('registration.backends.default.urls')), 

    url(r'^home/$', 'newsLetter.views.home', name='home'), 

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

Мой views.py

def home(request): 

    if request.method == 'POST': 

     formOBJ = SignUpForm(request.POST, request.FILES) 

     if formOBJ.is_valid(): 
      instance = formOBJ.save(commit=False) 

      instance.save() 

      for key in request.FILES.getlist("photos"): 

       IMX = SugnUpIMG.objects.create(signup_id=instance.id, photos=key) 

      contexto = { 
       "tituloForm" : "Obrigado!", 
       "vFlag"   : 1, 
       "img"   : SugnUpIMG.objects.filter(signup_id=instance.id,) 
      } 
    else: 

     titulo = "Escreva aqui a sua mensagem na home" 

     contexto = { 
     "tituloForm": titulo, 
     "Formulario": SignUpForm(), 
     "UploadIn" : SugnUpIMGForm() 
     } 

    return render(request, 'home.html', contexto) 

Мой home.html

<img width="240" height="240" border="1" scr="{{ fotos.photos.url }}" alt="{{ fotos.photos }}"> 

Здесь все работает правильно, файлы будут сохранены в правильной папке, однако я не могу просмотреть их в шаблоне.

URL-адрес изображения, таким образом, находится в html. enter image description here

И так выглядит. enter image description here

Но когда я ставлю URL изображения по адресу

127.0.0.1:8000/media/projectimg/2542601-play-games.png

он отображается в браузере.

Может ли кто-нибудь помочь мне с этой проблемой?

+1

Я не вижу отображаемую переменную контекста 'fotos' – doniyor

ответ

0

Я нашел эту проблему и теперь функционирует как задумано я был в теге HTML, где изменен на:

<img width="240" height="240" border="1" src="{{ fotos.photos.url }}"> 

Я не понимаю, почему атрибут альт предотвратить отображение изображения? Кто-нибудь когда-либо испытывал это?

Смежные вопросы