django调试模式将上传的文件发送到STATIC_ROOT中的“upload_to”目录

时间:2011-10-24 00:56:30

标签: django debugging static

查看堆栈溢出时的其他类似答案,但未找到相关答案。

STATIC_ROOT = /home/www/proj_a/static
MEDIA_ROOT = /home/www/proj_a/media
STATIC_URL = /static/
MEDIA_URL = /media/

在某些模型的某些类中,我们有upload_to set

pix = models.FileField(_('photo'), upload_to='upload', blank=True)

我原本希望将文件发送到 /media/upload/1.jpg 但是,它最终会出现在 /static/upload/1.jpg

这与我对Django 1.3的文档的理解并不相符。

我在调试模式下使用Django 1.3。

我还没有使用Apache,我稍后会担心,现在我只想在调试模式中找出 runserver 问题。

THX

1 个答案:

答案 0 :(得分:0)

您可以通过以下操作设置自定义存储目录:

upload_dir = FileSystemStorage(location=UPLOAD_ROOT, base_url='/uploads')
pix = models.FileField(_('photo'), upload_to='/upload', blank=True, storage=upload_dir)

UPLOAD_ROOT在我的settings.py文件中定义:/ path / www / upload

检查这两页以获取更多详细信息:

http://abing.gotdns.com/posts/2009/django-file-upload-handling-examples/

http://docs.djangoproject.com/en/dev/howto/custom-file-storage/