0

我有一件很奇怪的事情。我在win7 Django 1.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 本地文件系统路径,将附加到您的 MEDIA_ROOT 设置以确定 url 属性的值。

于 2012-06-04T21:10:24.893 回答