permissões django / de uploads de arquivos
-
03-07-2019 - |
Pergunta
Eu escrevi uma aplicação Django, mas eu tenho um pequeno problema com as permissões de arquivo dos arquivos envios de um formulário web.
Basicamente eu posso fazer upload de um arquivo .mp3 mas sempre manter chmod 600.
A pasta recipiente tem chmod 775, eo umask está definido para 022.
Eu estou em um serviço de hospedagem compartilhada.
Solução
Tente isto em seu settings.py se você usar Python 2:
FILE_UPLOAD_PERMISSIONS = 0644
Em Python 3 números octais deve começar com 0o para que a linha seria:
FILE_UPLOAD_PERMISSIONS = 0o644
Para mais detalhes consulte a documentação .
Outras dicas
Hope isso é útil. O método a seguir pode ser usado. Isso tem 2 outros que não resolver erros de permissão vantagens.
- Não há problemas com permissões de arquivo
- Mais rápido
- O arquivo não é copiado para / tmp / pasta para arquivos que são mais de 2,5 MB (economia de espaço também).
with open(file_name, 'wb+') as temp_file:
for chunk in up_file.chunks():
temp_file.write(chunk)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow