To upload image in server using Django perform the following code:
django-admin startproject imageupload cd imageupload python manage.py startapp appimage settings.py add 'appimage' in INSTALLED_APPS add 'templates' in TEMPLATES add: MEDIA_ROOT = BASE_DIR/'media' MEDIA_URL = '/media/' media folder will automatically created when you add image. models.py from django.db import models class Image(models.Model): caption = models.CharField(max_length=200) img = models.ImageField(upload_to='images') def __str__(self): return self.caption Install the pillow library, which helps work with the images. pip install Pillow urls.py (app) from django.urls import path from . import views urlpatterns = [ path('image_upload', views.imageview, name = 'image_upload'), path('success', views.success, name = 'success'), path('view_images', views.displayimages, name='view_images'), ] urls.py (project) 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('admin/', admin.site.urls), path('', include('appimage.urls')), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT) views.py (app) from django.http import HttpResponse from django.shortcuts import render, redirect from .forms import * # Create your views here. def imageview(request): if request.method == 'POST': form = ImageForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('success') else: form = ImageForm() return render(request, 'file.html', {'form' : form}) def success(request): return HttpResponse('successfully uploaded') def displayimages(request): if request.method == 'GET': Images = Image.objects.all() return render(request, 'file2.html',{'images' : Images}) forms.py (app) from django import forms from .models import * class ImageForm(forms.ModelForm): class Meta: model = Image fields = ['caption', 'img'] python manage.py makemigrations python manage.py migrate from .models import Image # Register your models here. admin.site.register(Image)