Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atualizando tudo, exceto a imagem.

Meu CRUD está praticamente em ordem, mas quando vou atualizar a imagem, não funciona, como resolvo?

HTML:

{% csrf_token %} Nome do produto:
       <label for="" class="">
        Tipo de medida:
        <select name="medida">
            <option value="{{produto.medida}}"></option>
            <option value="caixa">caixa</option>
            <option value="fardo">fardo</option>
            <option value="quilo">quilos</option>         
        </select>
        </label>

        <label for="" class="">
            Categoria do produto:
            <select name="categoria"class="form-control">
                <option value="tecnologia">Tecnologia</option>
                <option value="literatura">Literatura</option>                   
                <option value="{{produto.categoria}}"></option> 
            </select>
        </label>

        <label for="" >
            Forneça mais detalhes sobre o produto:
            <textarea name="descricao"class="form-control">
                {{produto.descricao}}
            </textarea>
        </label>
        <label for="" class="">
            Quantidade por embalagem:
            <input type="text" name="quantidade_por_embalagem"class="form-control" value="{{produto.quantidade_por_embalagem}}">
        </label>
        <div class="">
            <label for="file"><b>Foto utilizada</b></label>
            <img src="{{ produto.foto_produto.url }}" alt="">
        </div>
        <label for="foto_produto" class="">
            Foto do produto:
            <input type="file" name="foto_produto" class="form-control"id="foto_produto" >
        </label>
        <label for="" class="">
            Deseja publicar?
            <select name="publicada"class="form-control">                    
                <option value="True">Publicar</option>
                <option value="False">Não Publicar</option>
                <option value="{{produto.publicada}}"></option>                   
            </select>
        </label>
        <button type="submit" class="btn btn-success">Atualizar</button>       

   </form>

DJANGO(views):

def atualiza_produto(request): if request.method=='POST':

    produto_id=request.POST['produto_id']

    atualiza_produto=Produtos.objects.get(pk=produto_id)

    atualiza_produto.produto=request.POST['produto']
    atualiza_produto.medida=request.POST['medida']
    atualiza_produto.categoria=request.POST['categoria']
    atualiza_produto.descricao=request.POST['descricao']
    atualiza_produto.quantidade_por_embalagem=request.POST['quantidade_por_embalagem']

    if 'foto_receita' in request.FILES:
        atualiza_produto.foto_produto=request.FILES['foto_produto']

    atualiza_produto.publicada=request.POST['publicada']

    atualiza_produto.save()

    return redirect('produtos')
1 resposta
solução!

Resolvido dessa forma:

    if 'foto_produto' not in request.FILES:
        pass
    else:        
        atualiza_produto.foto_produto=request.FILES['foto_produto']


    atualiza_produto.publicada=request.POST['publicada']

    atualiza_produto.save()