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
]
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)
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)
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
]
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)
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)