在我的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'” 你知道为什么吗? 谢谢你的帮助
答案 0 :(得分:0)
Djangos的runserver通常以root身份运行,这可能是你的问题。
您的网络服务器需要读取/写入文件的权限。您可以使用ls -l /your/path/to/file
检查给定目录的权限。要更改权限和所有者,请使用chmod
和chown
。
如果您正在运行apache2网络服务器,则您的用户和群组在大多数情况下都是www-data
。