apache + wsgi下的Django应用程序获取异常:'mod_wsgi.Log'对象没有属性'name'

时间:2012-03-21 00:28:12

标签: django mod-wsgi

我们有一个调用第三方库的Django应用程序。使用runserver运行时工作正常,但在apache + wsgi下,它会抛出此错误:

'mod_wsgi.Log'对象没有属性'name'

我将开始浏览该库的代码以查看其日志记录,但我的第一次传递没有透露任何与我们在主应用程序中执行的操作特别不同的内容。如果有人有任何想法或指示,那将会有很大帮助。

1 个答案:

答案 0 :(得分:2)

期望'name'属性存在的代码是错误的。 Python文档说明了'name'属性:

“”“name - 如果文件对象是使用open()创建的,则为文件的名称。否则,某些字符串表示文件对象的源,格式为”< ...>“这是一个只读属性,可能不会出现在所有类文件对象上。“”“

换句话说,不需要出现。

mod_wsgi.Log对象作为sys.stdout和sys.stderr的文件对象,因此不需要具有“name”属性。

因此,任何寻找“name”属性的代码都必须容忍它不存在。