如何在Django中提供用户上传的文件?

时间:2012-07-05 10:26:21

标签: django

我正在编写一个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不建议将其用于制作。

为用户上传的文件提供的推荐方法是什么?

1 个答案:

答案 0 :(得分:2)

您上传的文件位于MEDIA_ROOT,可以使用MEDIA_ROOT投放。您需要在settings.py中设置这些参数。

您可以通过django dev服务器为您的开发提供服务,但您可以将其配置为从apache或其他服务器提供服务。

参考Django managing stored files