【发布时间】:2012-07-05 17:51:39
【问题描述】:
我正在编写一个 Django 应用程序,用户可以在其中上传图像,但我不知道如何为它们提供服务。我可以看到两种方式:
1-将它们作为静态文件上传:将它们上传到我项目目录下的static文件夹中,然后运行python manage.py collectstatic,但是我不知道每次上传文件时如何自动运行此命令,这似乎需要大量处理,因为每次服务器都会删除并重新加载我的静态应用程序中的所有内容。
2- 在我的 urls.py 中使用django.views.static.serve:
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.MEDIA_ROOT,
}),
但the doc 不建议将其用于生产。
提供用户上传文件的推荐方式是什么?
【问题讨论】:
-
我认为通过 Apache 或类似的网络服务器提供这些文件是个好主意。如果您需要像用户权限这样的进一步控制,可以选择 mod_xsendfile。
标签: django