Django not showing images in editor (404 error)
I'm try create post and add to this post images. And i'm use for this Django-summernote in Django 3.0. Picture upload to folder on hard disk, but not showing in editor. Console show 404 Error. Please, give me advice how to fix it? Thank you!
settings.py
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = STATIC_URL + "grappelli/"
X_FRAME_OPTIONS = 'SAMEORIGIN'
SUMMERNOTE_THEME = 'bs4' # Show summernote with Bootstrap4
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
urls.py
urlpatterns = [
path('admin/filebrowser/', site.urls),
path('summernote/', include('django_summernote.urls')),
path('admin/', admin.site.urls),
path('', include('blog.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
models.py
class Post(models.Model):
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
image = models.ImageField(upload_to="", blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def get_absolute_url(self):
return "/api/article/%i/" % self.id
def __str__(self):
return self.title
First add forward slash in MEDIA_ROOT
:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
Then Check following stuffs:
DEBUG = True
in your settings- Inspect Post model table in your database whether image field have any value
- if it is a uploaded file nor a static file so in your template write:
<img src="{{post_object.image.url}}" />
and add post_object in view context