Джанго сломанные эскизы

Я пытаюсь сделать блог с полем изображения для своих сообщений. У меня есть imageupload, работающее в админ-панели django, но я сломал эскизы. Если я нажимаю на изображения, я получаю ошибку 404 со следующим:

Using the URLconf defined in firstblog.urls, Django tried these URL patterns, in this order:

^$ [name='home']
^admin/

The current URL, images/heroimage/, didn't match any of these.

в моем models.py у меня есть:

from django.db import models
from django.db.models import permalink


class posts(models.Model):

author = models.CharField(max_length = 45)
title = models.CharField(max_length = 100)
bodytext = models.TextField()
timestamp = models.DateTimeField()
image1 = models.ImageField(upload_to="images/heroimage/", default='')
category = models.ForeignKey('blog.Category', default='')


def __unicode__(self):
 return '%s' % self.title

@permalink
def get_absolute_url(self):
 return ('view_blog_post', None, { 'slug': self.slug })



class Category(models.Model):
title = models.CharField(max_length=100, db_index=True)
slug = models.SlugField(max_length=100, db_index=True)


def __unicode__(self):
 return '%s' % self.title

@permalink
def get_absolute_url(self):
 return ('view_blog_category', None, { 'slug': self.slug })

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

Вот мой index.html, где я пытаюсь вызвать изображение к посту.

  <div class="container">
        <h1>First Blog</h1>
    {% for post in posts %}
    <div class="posts">
        <p><a href="/images/heroimage/{{blog.slug}}"> <img src="{{blog.image1.url}}" /> {{ blog }}</a></p>
        <h2>{{ post.title }}</h2>
        <h3>Posted on {{ post.timestamp }} by {{ post.author }}</h3>
        <p> {{ post.bodytext }}</p>
    </div>
    <hr>
    {% endfor %}

    </div>

Мой django-проект, который я создал, назывался firstblog, затем у меня есть приложение под названием blog. В корневой папке моего проекта "firstblog" у меня есть папка с изображениями, а затем подпапка, которая называется heroimage.

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

Спасибо

1 ответ

Он добавляется к вашей настройке MEDIA_ROOT. https://docs.djangoproject.com/en/1.8/ref/models/fields/

Установите медиа-корень для загружаемых файлов, чтобы получить файлы, приведу пример:

# settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

# models
class Blog(models.Model):
    main_image = models.ImageField(default='none/none.jpg', upload_to='blog'

# template
<img src="/media/{{ blog.main_image }}">

# media folder after
media/blog/imageuploaded.jpg
media/none/none.jpg  # This file was already created

Чтобы загрузить в статический каталог изменения

MEDIA_ROOT = STATIC_ROOT or STATICFILES_DIRS[0]

Хотя это абсолютно не рекомендуется!

Другие вопросы по тегам