0

我启动了一个 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

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

4

2 回答 2

0

首先要做的事情:编写这样一个独立脚本的最方便的方法是使用manage.py 子命令

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

  • 在 myapl2.py 中,您正在设置日志记录。Django 也这样做,使用您的 LOGGING 设置。那两个可能会互相咬。

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

于 2012-04-22T16:10:12.840 回答
0

如果你刚刚做了 python myapl2.py 这个错误,请阅读https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-without-setting-django-settings-module

于 2012-04-22T14:28:38.343 回答