2012-10-31 31 views
2

在我的Django的應用程序我有這樣那樣的錯誤: 「IO錯誤:[錯誤13]許可被拒絕: 'FILE_NAME'」Django的製作:[錯誤13]許可被拒絕:

這是我的代碼:

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'」 你知道爲什麼嗎? 感謝您的幫助

+0

我可以向你保證,操作系統比你做的更清楚你是否有權限。 – geoffspear

+0

你說得對。但爲什麼在開發中所有的工作? – RoverDar

+0

通常開發機器與生產中的機器相比具有不同的特性(sp?)。 –

回答

0

Djangos的runserver通常以root身份運行,這可能是您的問題。

您的網絡服務器需要讀取/寫入文件的權限。您可以使用ls -l /your/path/to/file來檢查給定目錄的權限。要更改權利和所有者,請使用chmodchown

如果您正在運行apache2網絡服務器,您的用戶和組在大多數情況下是www-data

相關問題