/ / Recuperar arquivos do diretório local no django - django, aplicações web, armazenamento local, campo de arquivos

Recuperar arquivos do diretório local no django - django, web-applications, local-storage, filefield

Eu me encontrei em uma situação em que um clienteperguntou se podemos servir os arquivos no aplicativo da web sem que ele os carregue. Em vez disso, ele deseja soltar os arquivos em um diretório local. Digamos em "/ Desktop / myfiles /".

Pergunta # 1 = É possível recuperar todos osarquivos de um diretório local? Pergunta # 2 = Se eu puder recuperar os arquivos do diretório local, como posso armazenar o file_path para armazená-lo em um campo FileField em meu modelo? Então, quando escrevo Mymodel.objects.all (), obtenho todos os arquivos !!

PS: Claro que não sei os nomes dos arquivos de antemão. Isso seria um bônus!

Alguma ideia?

Respostas:

0 para resposta № 1

Pode definir um diretório junto com o conteúdo estático, em seguida, fazer um usuário ftp obter acesso para enviar arquivos para esse diretório, é tudo


0 para resposta № 2

Esse é um requisito estranho:-) Eu, pessoalmente, tentaria dizer não e, em vez disso, implementar algo com o fineuploader que permitiria que você suportasse arrastar e soltar para vários arquivos. Mas parece que esse não é o OP:

Eu usaria como trabalho cron paralelo ou trabalhador usando umfunção de gerenciamento ("Python manage.py your_function") ou implementação do Celery para basicamente pesquisar todos os arquivos e cada arquivo que ainda não está no banco de dados, crie um novo registro para ele. Para tornar as coisas mais simples, você pode querer que esta função também mova o arquivo para a localização da MÍDIA (em vez de tornar o diretório original MÍDIA).

Basicamente, usando django management ou django-celeryfunctions, você pode verificar a cada cinco minutos (ou a cada minuto) e fazer o equivalente a um upload de usuário.

Não há descrição suficiente do seu código para eu escrever um exemplo de código, mas espero que você tenha entendido.


0 para resposta № 3

Consegui puxar os arquivos do diretório local usando o script Sql com LOAD LOCAL INFILE e Atualizar os campos após o insert. Para obter / criar o caminho de arquivo correto, usei CONCAT.
Funciona perfeitamente e pode ser muito útil para aplicativos da web exigentes.