2016-05-31 3 views
1

私はDjangoを開発中です。 settings.pyでは私は私の知る限り、これは任意のURLメディア/ファイル名は、ファイルを提供することを意味しなければならない理解しDjangoでメディアファイルを提供する

if settings.DEBUG: 
    urlpatterns += patterns('', url(r'^media/(?P<path>)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT,}),) 

、その後ursl.pyに私が持ってMEDIA_URL

MEDIA_ROOT = os.path.join(BASE_DIR, 'fileuploader/uploaded_files') 
MEDIA_URL = 'fileuploader/uploaded_files/' 

を設定しています代わりにそれを要求するだけです。

テンプレートでは、モデルを介してファイル名とURLにアクセスできます。しかし、私はこれをリンク可能なパスにしてファイルをダウンロードすることはできません。

<p>File URL link <a href="media{{ item.upload.name }}">media{{ item.upload}}</a></p> 

事実、item.uploadとitem.upload.nameは同じ文字列を生成します。 filestoreのファイル名は./TESTFILE.txtです。最初に './'を削除する必要はありますか?

26のコミットがhttps://github.com/shanegibney/djangoForum

おかげ

+1

https://docs.djangoproject.com/en/dev/howto/static-files/ – marcusshep

+0

私は、これを見ましたそれは私が奉仕したいものであるメディアファイルとは対照的に静的なファイルではないのですか? –

答えて

1

プロジェクトである私はMEDIA_URLタグを追加し、これは、ダウンロードするファイルを可能にします。

私は追加最後までurls.pyでも
<p>URL <a href="/{{ MEDIA_URL }}{{ item.upload.name}}">media{{ item.upload}}</a></p> 

urlpatterns = [ 
    ...... 
    ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
関連する問題