@P0f1g1st112

Django загрузка изображений из модели в шаблон?

Здравствуйте! Перечитал много похожих вопросов и в общем-то, ничего не помогло.
Задача: вывести изображения из модели в шаблон.
код main.html
<a href="#"><img class="img-responsive" src="{{ article_newest.image.url }}" alt=""></a>

итог нулевой.
код в models.py
class Article(models.Model):
    class Meta:
        db_table = "Статья"
        verbose_name_plural = "Статьи"
        ordering = ['-date_create']

    title = models.CharField(max_length=250, verbose_name='Заголовок')
    date_create = models.DateTimeField(u'Дата публикации', auto_now=True)
    content = models.TextField(max_length=10000)
    views = models.IntegerField(default=0)
    image = models.ImageField(null=True, blank=True)

    def __unicode__(self):
        return self.title

далее код в views.py
from django.shortcuts import render_to_response
from .models import Article


def mainpage(request):

	article_newest = Article.objects.order_by('-date_create')[0]
	articles = Article.objects.order_by('-date_create')[1:5]
	return render_to_response('main.html', {
											'article_newest': article_newest,
											'articles': articles,
											})

и если пригодится, то код в urls.py самого проекта
from django.conf.urls import url, include
from django.contrib import admin
from django.views.static import serve
from . import settings

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', include("mainpage.urls")),
    url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),
]

настройки settings.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
]
#STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'

Версия django 1.11.4; папки static, media созданы. Ну со static никаких проблем нет, а вот media никак работать не хочет.
Спасибо за помощь.
  • Вопрос задан
  • 1611 просмотров
Решения вопроса 1
@P0f1g1st112 Автор вопроса
Прочитав несколько десятков ответов на этот вопрос, нашел все-таки ответ. Может кому пригодится. Вся проблема была только в том, что в urls.py надо было прописать знак $ в конце регулярного выражения.
url(r'^', include("mainpage.urls")),
а вот работающий вариант
url(r'^$', include("mainpage.urls")),
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы