how GEt image from database Django 3.0

Question:

I’m creating Blog on Django 3.0 Framework. so I crashed to a problem with Getting an image from Database. I can upload an image from admin and it’s uploading in directory which I want to. When I’m entering image URL to Post I can see directory from Browser inspect. even the name of file but the image didn’t show up.

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 File

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

Project 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

]

Asked By: DevGUL

||

Answers:

Add this to your url file

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)
Answered By: Chetan Vashisth
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('article/', include('article.urls')),
    path('admin/', admin.site.urls),
    path('grappelli/', include('grappelli.urls')),
]+static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)

if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,document_root = settings.STATIC_URL)
urlpatterns += static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
Answered By: Reverse Logic
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.