Как добавить изображение в поле 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)