присоединить изображение в mi view в django - PullRequest
0 голосов
/ 23 апреля 2020

На самом деле исходное изображение сохраняется в моих загрузках, но мне нужно, чтобы изображение сохранялось в базе данных, а не в моих загрузках, с "номером" моей модели "programas"

Моя модель:

class programas(models.Model):
    id = models.AutoField(primary_key=True)
    nombre = models.CharField('Nombres',max_length=50, blank= True)
    horas = models.CharField('Horas',max_length=50, blank= True)
    creditos = models.CharField('Creditos',max_length=50, blank= True)
    imagen = models.ImageField(blank=True, null=True)

Мой взгляд:

def registroPrograma(request):
    if request.method == 'POST':
        form = ProgramaForms(request.POST, request.FILES)
        if form.is_valid():

            programas = form.save(commit=False)
            programas.creditos= request.user
            imagen = qrcode.make('Hola Iver!')
            img = Image.open(programas.imagen)
            img = img.resize((2500, 2500), Image.ANTIALIAS)
            img = img.convert('JPG')
            img.paste(imagen, (0, 0))
            x = img.save("/Downloads/hola.jpg")
            programas.imagen = img.paste(imagen, (0, 0))
            form.save()
        return redirect('principio')
    else:
        form = ProgramaForms()
    return render(request,'registrar_programa.html', {'form':form})

1 Ответ

0 голосов
/ 23 апреля 2020

Прежде всего, это должен быть код, который вы запомните, когда вы go профессионал с django. Присоединение изображений к представлениям добавит много времени ожидания, если форма действительна, потому что вы работаете с файлами там, НИКОГДА сделать это, Работа с файлами должна быть вне основного потока или процесса, поэтому существует Celery .

Во-вторых, Хранение файлов в базе данных является плохая практика производительности, однако есть BinaryField, о котором в документе говорится об этом здесь ..

Хотя вы можете подумать о хранении файлов в базе данных, учтите, что это плохой дизайн в 99% случаев. Это поле не является заменой для правильной обработки файлов stati c.

Пожалуйста, пересмотрите пересмотр принципов работы вашего приложения, это обеспечит лучшую масштабируемость и удобство обслуживания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...