错误:无法导入设置,因为无法定义环境变量(Django日志记录)

时间:2012-04-22 14:05:14

标签: python django logging

我启动了一个django应用程序,我需要将日志模块用于我的应用程序

这是setting.py中的(LOGGING部分),我没有更改任何内容。

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'class': 'django.utils.log.AdminEmailHandler'
    }
},
'loggers': {
    'django.request': {
        'handlers': ['mail_admins'],
        'level': 'ERROR',
        'propagate': True,
    },
}

}

我在与模型相同的目录中有一个名为categories.py的文件,这是categories.py的代码

import logging
from django.template import RequestContext
from django.shortcuts import render_to_response
from models import Task
from models import Category
from models import Subcategory

 logger = logging.getLogger(__name__)


def li():
    logger.error('Finished')


def categories(request):
    all_categories = Category.objects.all()
    return render_to_response('categories/view all categories & tasks.html', {'all_categories': all_categories},RequestContext(request)) 

我在models.py所在的目录中有另一个名为myapl2.py的文件,这是代码

import logging
import categories


def main():
    logging.basicConfig(filename='myapp.log',format='%(message)s,%(asctime)s',datefmt='%m/%d/%Y %I:%M:%S %p',level=logging.DEBUG)

    categories.li()


if __name__ == '__main__':
    main()

在cmd中,当我cd到这个目录并运行myapl2.py时出现错误,

导入类别时似乎存在问题,

我在cmd中得到以下内容:

来自django.shortcuts导入render_to_response

提升错误:无法导入设置,因为无法定义环境变量

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

首先要做的事情是:编写这样一个独立脚本的最简单方法是使用manage.py subcommand

关于您的代码的两条评论:

  • 在myapl2.py中,您正在设置日志记录。 Django使用您的LOGGING设置也是如此。这两个人可能互相咬人。

  • 并且(可能是复制/粘贴错误):在categories.py的logging = ...行前面有一个空格,这也可能会给您一个错误。