9

Herokuにdjangoプロジェクトをデプロイしていますが、正常に動作しますが、django管理者で画像をアップロードしようとするとエラーが発生しました:

OSError at /admin/blocks/block/add/

[Errno 30] Read-only file system: '/home/goldwedd'
4

2 に答える 2

11

これは仕様によるものです。

アプリは、dyno マネージャーによって迅速に配布できるようにスラッグにコンパイルされます。スラッグのファイルシステムは読み取り専用です。つまり、半永久的なストレージのファイルシステムに動的に書き込むことはできません。次のタイプの動作はサポートされていません。

  • public ディレクトリにページをキャッシュする
  • アップロードされたアセットをローカル ディスクに保存する(例: attachment_fu または paperclip を使用)
  • Ferret で全文索引を作成する
  • SQLite や GDBM などのファイルシステム データベースへの書き込み
  • git-wiki などのアプリの git リポジトリへのアクセス

https://devcenter.heroku.com/articles/read-only-filesystem

ファイルをアップロードする場合は、S3 またはdjango-storages でサポートされているその他のストレージ バックエンドにアップロードする必要があります。

于 2013-07-18T07:54:26.113 に答える
0

はい、heroku でメディア ファイルをアップロードすることはできません。git を介してのみ物事を展開できます。静的ファイルまたはメディア ファイルを展開する場合は、いくつかの回避策で利用できます。

ライブ ファイル アップロードの場合、Amazon S3 などの外部サービスの使用を検討する必要があります。django がそれを処理するための優れたライブラリがあります (私が覚えている限りでは、heroku dev サイトでも提案されています): django-storages

于 2013-07-18T07:57:44.870 に答える