django / file上传权限

时间:2009-03-03 22:52:47

标签: django file-upload permissions django-uploads

我写了一个django应用程序,但我对来自网络表单的上传文件的文件权限有点问题。

基本上我可以上传.mp3文件,但它始终保持chmod 600。

容器文件夹有chmod 775,umask设置为022。

我在共享托管服务中。

2 个答案:

答案 0 :(得分:63)

如果使用Python 2,请在settings.py中尝试:

FILE_UPLOAD_PERMISSIONS = 0644

在Python 3中,八进制数必须以0开头,因此该行将为:

FILE_UPLOAD_PERMISSIONS = 0o644

有关详情see the documentation

答案 1 :(得分:0)

希望这很有用。可以使用以下方法。除了解决权限错误外,这还有其他两个优点。

  • 文件权限没有问题
  • 更快
  • 对于超过2.5 MB的文件,该文件不会复制到/ tmp /文件夹中(同样也节省了空间)。

with open(file_name, 'wb+') as temp_file:
    for chunk in up_file.chunks():
        temp_file.write(chunk)