2014-11-16 2 views
0

Проблема в том, что я получаю сломанный тип изображения. Мой код выглядит следующим образом:Изображение выглядит как сломанное изображение

в settings.py У меня есть

import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
SETTINGS_DIR = os.path.dirname(__file__) 
PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir) 
PROJECT_PATH = os.path.abspath(PROJECT_PATH) 

TEMPLATE_DIRS = [os.path.join(PROJECT_PATH, 'templates')] 

MEDIA_ROOT = '/home/username/work_station/project1/media/static/pic' 
MEDIA_URL = '/media/' 

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..') 
SITE_ROOT = PROJECT_ROOT 
STATIC_ROOT = os.path.join(SITE_ROOT, 'static') 

Мой models.py

class Image(models.Model): 
    post = models.ForeignKey(Post) 
    image = models.ImageField(upload_to='static/pic/', default = None) 
    description = models.CharField(max_length=100) 

    def __unicode__(self): 

Мои взгляды

class IndexListView(ListView): 
    template_name = "dashboard.html" 
    context_object_name = 'latest_pictures' 

def get_queryset(self): 
    return Image.objects.all() 
    return str(self.image) 

мой шаблон: dashboard.html

{% for latest in latest_pictures %} 
{% load staticfiles %} 
     <div><img src="{{ MEDIA_URL }}{{ latest.image }}"></div> 
{% endfor %} 
+0

Какая неисправность ссылка? – doniyor

+0

И что отвечает за обслуживание файлов с/media /? –

ответ

1

на самом деле, ваш MEDIA_ROOT должен быть

MEDIA_ROOT = os.path.join(BASE_DIR, "media") 

и файлы изображений не staticfiles, они являются медиа-файлы. поэтому ..

{% for latest in latest_pictures %} 
    <div><img src="{{ latest.image.url }}"></div> 
{% endfor %} 

должно быть достаточно хорошим.

и btw, upload_to является пунктом назначения под media папкой. upload_to='static/pic/' является своего рода вводящим в заблуждение именем.

aaand as Daniel заявил, что если ваш сервер правильно обслуживает ваши медиафайлы, это должно сработать.

+0

О, как я дурак. Я просто прочитал разницу между статическими файлами и медиафайлами, прежде чем публиковать этот вопрос здесь, и я не думал об изменении моего кода шаблона. Теперь это прекрасно. Большое спасибо Вам. – catastropic

+0

мое удовольствие @catastropic – doniyor

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