2017-01-20 3 views
0

ウェブアプリケーションのファイルをアップロードできるかどうかをクライアントが尋ねる状況で私自身が見つかりました。代わりに、ローカルディレクトリにファイルをドロップしたいと考えています。 '/ Desktop/myfiles /'の中で言いましょう。djangoのローカルディレクトリからファイルを取得する

質問#1 =すべてのファイルをローカルディレクトリから取り戻すことはできますか? 質問#2 =ローカルディレクトリからファイルを取得できる場合、file_pathを保存してmymodelのFileFieldフィールドに保存するにはどうすればよいですか?だから私はMymodel.objects.all()を書くと、私はすべてのファイルを手に入れます!

PS:もちろん私は前もってファイル名を知らない。それはボーナスになります!

すべてのアイデア?

答えて

0

LOAD LOCAL INFILEでSqlスクリプトを使用してファイルをローカルディレクトリからプルし、挿入後にフィールドを更新することができました。正しいファイルパスを取得するには、私はCONCATを使用しました。
これは魅力的に機能し、実際には要求の厳しいウェブアプリケーションにとっては非常に便利です。

0

たぶん、そのディレクトリにファイルをアップロードするためのアクセスを取得するためにFTPユーザを作成し、それは私が個人的にノーと言うことを試みる :-)奇妙な要件だことすべて

0

だ、その後、一緒に静的なコンテンツをディレクトリを設定し、代わりに複数のファイルに対してドラッグアンドドロップをサポートすることができるような、fineuploaderで何かを実装してください。しかし、それはOPではないようです:

管理機能(「Python manage.py your_function」)を使用してサイド・クロン・ジョブまたはワーカーとして使用したり、基本的にすべてのファイルを検索したり、セロリーを実装して、データベース、それのための新しいレコードを作成します。簡単にするために、この機能を使用して、元のディレクトリをMEDIAにするのではなく、ファイルをMEDIAの場所に移動することもできます。

基本的には、django管理機能またはdjango-celery関数を使用すると、5分ごと(または1分ごと)に確認して、Userアップロードに相当する処理を行うことができます。

サンプルコードを記述するためのコードの記述が不十分ですが、うまくいけばいいと思います。

+0

私はセロリに全く慣れていません!あなたは基本的に私に中国語を話しています;)。私はそれが奇妙な要件であることを知っています。私は「いいえ」に傾いていますが、まず研究をしなければなりませんでした。情報をありがとう! –

+0

https://realpython.com/blog/python/asynchronous-tasks-with-django-and-celery/ – dkarchmer

関連する問題