我有一些非常奇怪的事情。我在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]
我不知道我做错了什么。
答案 0 :(得分: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属性的值。