0

私は非常に奇妙なものを持っています。私はwin7Django1.4を使用しています。私は次のmedia_root/url設定を持っています:

MEDIA_ROOT = 'c:\project\uploads'
MEDIA_URL = '/media/'

私のurl.pyには以下が含まれています:

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

私はフィールドを持つモデルを持っています:

    file = models.FileField(upload_to=MEDIA_ROOT, blank = True)

現在、管理サイトからファイルをアップロードしていますが、ファイルは正常にアップロードされています。ただし、管理者を介してファイルにアクセスすると、ファイルへのリンクは次のようになります。

http://127.0.0.1:8000/media/c:\project\uploads\[filename]

私は自分が間違っていることの手がかりがありません。

4

1 に答える 1

2

あなたのモデルは間違っていると思います:

file = models.FileField(upload_to=MEDIA_ROOT, blank = True)

upload_toは、MEDIA_ROOT に追加される相対パスを想定しているため、ファイルが MEDIA_ROOT/MEDIA_ROOT にあると想定されますが、これは意味がありません。

次のようなものを試してください:

file = models.FileField(upload_to='files', blank = True)

ドキュメント:

FileField.upload_to url 属性の値を決定するために MEDIA_ROOT 設定に追加されるローカル ファイル システム パス。

于 2012-06-04T21:10:24.893 に答える