как получить изображение из базы данных Django 3,0 - PullRequest
1 голос
/ 08 января 2020

Я создаю блог на Django 3.0 Framework. поэтому я столкнулся с проблемой при получении изображения из базы данных. Я могу загрузить изображение от администратора, и оно загружается в каталог, который я хочу. Когда я вношу URL изображения в сообщение, я вижу директорию из браузера. даже имя файла, но изображение не отображается.

Settings.py

MEDIA_URL = '/uploadfiles/'
MEDIA_ROOT = os.path.join(BASE_DIR, '/uploadfiles')

models.py

STATUS = (
(0,"Drafted"),
(1, "Published")

  )
class Article(models.Model):
    article_title = models.CharField('სიახლის სახელი', max_length=200)
    article_text = models.TextField('კონტენტი')
    pub_date = models.DateTimeField('თარიღი')
    author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts')
    status = models.IntegerField(choices=STATUS, default=0)
    updated_on = models.DateTimeField(auto_now=True)
    slug = models.SlugField(max_length=200, unique=True)
    imagecover = models.ImageField(upload_to='uploadfiles/postimages/', default='img-about1.jpg')


def __str__(self):
    return self.article_title

def Recently_published(self):
    return self.pub_date >= (timezone.now() - datetime.timedelta(7))

Html Файл

 <div class="blog-post-image">
 <img src="{{a.imagecover.url}}" alt="image" class="img-responsive    center-block post_img" />
 </div>

URL проекта

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('article/', include('article.urls')),
    path('admin/', admin.site.urls),
    path('grappelli/', include('grappelli.urls')),  # grappelli URLS

]

1 Ответ

0 голосов
/ 08 января 2020

Добавьте это в свой файл URL

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('article/', include('article.urls')),
    path('admin/', admin.site.urls),
    path('grappelli/', include('grappelli.urls')),  # grappelli URLS
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)`enter code here`
...