2

在我的 Django 应用程序中,我遇到了这种错误:“IOError: [Errno 13] Permission denied: 'file_name'”

这是我的代码:

def record_export():
    for file_name, tab_name in tab:
        if len(globals()[tab_name].objects.all()) <> 0:
            f = open(file_name, 'wb')
            writer = csv.writer(f, delimiter='|')
            for record in globals()[tab_name].objects.values_list():
                writer.writerow([unicode(s).encode("utf-8") for s in record]) 
            f.close()

在开发环境中一切正常。我认为我有权限。在生产中我有:“IOError:[Errno 13] Permission denied:'file_name'”你知道为什么吗?谢谢你的帮助

4

1 回答 1

0

Django 的 runserver 通常以 root 身份运行,这可能是您的问题。

您的网络服务器需要读取/写入文件的权限。您可以使用它ls -l /your/path/to/file来检查给定目录的权限。要更改权利和所有者,请使用chmodchown

如果您正在运行 apache2 网络服务器,您的用户和组在大多数情况下是www-data

于 2012-10-31T12:30:09.143 回答