изображения из медиафайла не будут отображаться в шаблоне django

Я новичок в django, и я играл с загрузкой изображений, а затем их отображением. ... ну пытаясьотобразить их.

Всякий раз, когда я пытаюсь отобразить изображение из шаблона, я просто получаю значок неработающей ссылки на изображение.

Я использую сервер sqlite3

settings.py

ROOT_DIR = os.path.dirname(os.path.dirname(__file__))
def location(f):
    return os.path.join(ROOT_DIR, f)
MEDIA_URL = 'http://127.0.0.1:8000/media/'
MEDIA_ROOT = location('media/')

models.py

class Image(models.Model):
    image = models.ImageField(upload_to = 'images/')

views.py

from imageupload.settings import MEDIA_ROOT, MEDIA_URL

def main(request):
    imgs = Image.objects.all()
    return render_to_response('index.html', {'images': imgs, 'media_root': MEDIA_ROOT, 'media_url': MEDIA_URL})

url.py

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

Сейчас я только что использовал админку для загрузки изображений. И вроде работает нормально, они идут туда, куда я ожидаю

Но когда я пытаюсь отобразить их:
шаблон

<!DOCTYPE html>
<html>
    <img src="<correct path to project>/media/images/photo_1.JPG" />

    {% for img in images %}
    <img src="{{ media_root }}{{ img.image.name }}" />
    <img src="{{ media_url }}{{ img.image.name }}" />
    <img src="{{ img.image.url }}" />
    {% endfor %}
</html>

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

<!DOCTYPE html>
<html>
    <img src="<correct path to project>/media/images/photo_1.JPG" />    
    <img src="<correct path to project>/media/images/photo_1.JPG" />    
    <img src="http://127.0.0.1:8000/media/images/photo_1.JPG" />
    <img src="http://127.0.0.1:8000/media/images/photo_1.JPG" />
</html>

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

11
задан Ben 27 May 2012 в 22:30
поделиться