16

ファイルシステムのフィールドパスをファイルに保存するFileモデルがあります。pathすべてのファイルは MEDIA_ROOT/files に保存されます

テンプレートで、オブジェクトのダウンロード リンクを生成しFileます。これを行う最善の方法は何ですか?django で静的ファイル処理を使用する必要がありますか?

ティア!

UPD

Fileモデル

class File(models.Model):
    item = models.ForeignKey(Item)
    file = models.FileField(upload_to = os.path.join(MEDIA_ROOT,'items'))
    format = models.CharField(max_length = 255)

アイテムのビューで、次のことを行います。

files = File.objects.filter(item_id = id)

filesテンプレートへのパス

files.1.file.urlたとえば、私が使用するテンプレートでは、まだ次のような悪いURLがありますsite.com/home/dizpers/...

UPD2

関連する質問

解決

file私の問題は、フィールドのファイルモデルにありました。upload_to パラメータでは絶対パスを使用しますが、相対パスを使用する必要があります:

file = models.FileField(upload_to = 'items')

4

3 に答える 3

15

「ダウンロードリンクを生成する」とはどういう意味か正確にはわかりませんが、単にファイルにリンクするには{{ some_file.url }}href.

于 2012-08-08T18:54:24.483 に答える
5

href="{{ STATIC_URL }}/files/somefile"またはhref="{{ MEDIA_URL }}/files/somefile"、ユーザーがアップロードしたコンテンツを使用してみてください

于 2012-08-08T19:13:30.620 に答える