Django制作:[Errno 13]许可被拒绝:

时间:2012-10-31 11:56:08

标签: django file ioerror

在我的Django应用程序中,我遇到了这种错误:“IOError:[Errno 13]权限被拒绝:'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]权限被拒绝:'file_name'” 你知道为什么吗? 谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

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

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

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