Django ошибка производственного сервера 13 при сохранении подборки - PullRequest
0 голосов
/ 23 января 2020

поэтому я начинаю делать сервер, чтобы помочь школьному проекту, и я не нашел ответа на эти вопросы. Как правило, код работает следующим образом, когда вы впервые открываете сайт и регистрируете учетную запись, система проверяет, существует ли учетная запись. Если нет, то он создаст его и создаст для него кратчайший путь, то есть в основном образ, но на рабочем сервере с apache я не могу сохранить образ, который генерирует система. Сервер работает на малиновом компьютере с сервером ubunto, я установил разрешения 777 для папки мультимедиа, в которой система сохраняет образ cracha и представления sudo chown www-data:www-data -R base_directory/ и chmod 777 -R Base_directory

:

def register(request):
    if request.method == 'POST':
        senha1 = EncritpPassword(request.POST.get('senha', 'error'))
        senha2 = EncritpPassword(request.POST.get('senha-r', 'error'))
        Email = request.POST.get('email', 'erro')
        nome = request.POST.get('nome', 'erro')
        comite = request.POST.get('SelectionCommitee', 'No Committee')
        NOW = datetime.datetime.now().strftime("%d-%m-%Y %H:%M:%S")
        if ( (senha1 != 'error') and (senha2 != 'error') and (senha1 == senha2) and (Email != 'erro') and (nome != 'erro')):
            user = CheckUser(Email)
            if user == False:
                UserProtocol = EncritpEPR(Email)
                Cracha_Generator(UserProtocol, nome, comite)
                with connection.cursor() as cursor:
                    messages.success(request, 'Success creating your account now login please!')
                    UserRegister(nome, Email, comite, NOW)
                    cursor.execute("INSERT INTO index_account ( nome, email, senha, committees, createdAt, autorizacao) VALUES (%s, %s, %s, %s, %s, 0)", [nome, Email, senha2, comite, NOW] )
                    cursor.execute("INSERT INTO index_Conference (UserProtocol, email, rooms, datetime, AditionalInformation) VALUES (%s, %s, %s, %s, %s)", [UserProtocol , Email, 'no_data', 'no_data', 'no_data'])
                    return redirect('/user/login')
            else:
                messages.error(request, 'Error 401: This User alredy exist in our system!!!!')
                return redirect('/user/login')
        else:
            messages.error(request, 'Erro 409: the passwords MUST be Equal')
            return redirect('/user/register')
    User_email = request.session.get('email', 'erro')
    if User_email !="erro":
        messages.error(request, 'Error 401: Why another account?')
    return render(request, 'account/register.html')

cracha_generator:

def Cracha_Generator(protocol, Full_Name, Committee):

    #caminhos
    Qr_Code_path = ('media/qr-code-' + protocol + '.png')
    Cracha_path = 'media/cracha.png'
    Cracha_pronto_path = 'media/cracha/cr'+ protocol + '.png'

    data = ('SOME_URL' + protocol )# o que vai dentro do qrcode

    # dimensoes do qr code
    qr = qrcode.QRCode(
        version=1, # tamanho da informacao
        box_size=7, # tamanho do qrcode 7 = 217x217px
        border=1 #tamanho da borda
    )


    qr.add_data(data) #coloca dentro do qr code
    qr.make(fit=True) # faz o qrcode

    img = qr.make_image(fill='white', background_color='black') # faz a imagem com cores
    img.save(Qr_Code_path) # salva a imagem

    cracha = Image.open(Cracha_path)    #abre a primeira imagem
    qrcodeImage = Image.open(Qr_Code_path)#abre a segunda imagem

    area = (550, 265) # define um poto inicial para colar a imagem

    cracha.paste(qrcodeImage, area) # cola a imagem com a area expecificada

    image = cracha

    font_type = ImageFont.truetype('media/times-new-roman.ttf', 24) # fonte com tamanho
    draw = ImageDraw.Draw(image) # indica qual imagem escrever
    draw.text(xy=(205, 45), text=Full_Name, fill=(0,0,0), font=font_type) # escreve
    draw.text(xy=(205, 110), text=Committee, fill=(0,0,0), font=font_type) # escreve
    draw.text(xy=(205, 175), text=protocol, fill=(0,0,0), font=font_type)# escreve
    image.save(Cracha_pronto_path)# salva

    registro(Full_Name, 'media/cracha/cr'+ protocol + '.png', protocol ) # registro de tarefa em arquivo registro.dll

    os.remove(Qr_Code_path) # exclui sobras do sistema
    return True # termina a funcao
...