Как добавить изображение в поле imagefield в django model, которое присутствует в папке static?

В принципе, у меня есть файл изображения certificate.png в папке static. Я написал представление, которое будет обращаться к этому изображению и затем писать на нем имя студента. Теперь я хочу добавить это изображение в ImageField 'certificate' в модели 'My_course'. Я не могу понять, как это сделать. Пожалуйста, помогите.

Вот такой вид:

def certificate(request, slug):
course = My_course.objects.get(course=Course.objects.get(slug=slug), user=request.user)
try:
    course.certificate.url
except ValueError:
    image = Image.open('course/static/course/images/Certificate.png')
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype('course/static/course/fonts/Oswald-Medium.ttf', size=100)
    (x, y) = (700, 570)
    name = request.user.first_name + ' ' + request.user.last_name
    color = 'rgb(0, 0, 0)'
    draw.text((x, y), name, fill=color, font=font)
    image.save('course/static/course/images/Certificate'+str(course.id)+'.png')
    certimage = urllib.request.urlretrieve(static('course/images/Certificate'+str(course.id)+'.png'))
    course.certificate.save(os.path.basename(course.url), File(open(certimage[0], 'rb')))
    course.save()
return render(request, 'course/certificate.html', {'image':course.certificate,'msg':'Error did not occur'})

Это модель:

class My_course(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
payment = models.ForeignKey(Payment, on_delete=models.CASCADE, blank=True, null=True)
certificate = models.ImageField(blank=True, null=True)
Вернуться на верх