0

ファイルアップロードフィールドを持つモデルを含むdjangoアプリがあります。アップロードフィールドは、ターゲットファイルを取得し、メディアルートの既存のディレクトリにコピーをアップロードするか、ディレクトリが作成されていない場合は、ディレクトリを作成してその中にファイルをドロップします。

アプリは、組み込みのdjangoサーバーを利用して、開発で美しく動作しますが、本番サーバー(mod_wsgiでapache2インスタンスを実行しているOSXマシン)に移動すると、mkdir関数から「[エラー13]アクセスが拒否されました」がスローされますファイルをアップロードしようとするたびに、djangoのstorage.pyにあります。私のapachehttpd.confに追加する必要のあるパーミッション構文があるのではないかと強く思います。なぜdjangoサーバーがコードに問題がないのかわかりませんが、apachegagsです。誰か知っている?

4

2 に答える 2

0

アクセス許可の問題については、mod_wsgiのドキュメントで説明されています。

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User

于 2012-05-19T03:09:07.380 に答える
0

私は時々エラーメッセージがそれが言っている通りであると思います。この場合、「[Error 13] Permissiondenied」がスローされていました。これは、apacheがdjangoアプリがアップロードしようとしたディレクトリへの書き込みアクセス権を持っていなかったためです。ファイルアップロードディレクトリとして設定したディレクトリに移動し、システム全体に書き込み権限を付与しました。これはおそらく最も安全なソリューションではありませんでしたが、最も実用的でした。システム全体でディレクトリを開かずに、apache2の書き込み権限を明示的に設定する方法がわかりません。

また、それがdjangoの構成の問題なのか、apacheの問題なのかわからなかったため、serverfaultに質問を投稿しませんでした。

于 2012-05-20T17:05:05.680 に答える