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

Python 错误:无法导入设置,因为无法定义环境变量(Django日志记录),python,django,logging,Python,Django,Logging,我启动了一个django应用程序,我需要使用日志模块来创建我的应用程序 这是setting.py中的(日志记录部分),我没有更改其中的任何内容 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler'

我启动了一个django应用程序,我需要使用日志模块来创建我的应用程序

这是setting.py中的(日志记录部分),我没有更改其中的任何内容

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的文件,它与models位于同一目录中,这是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导入渲染到响应


Raise error:无法导入设置,因为无法定义环境变量

如果您刚刚执行了python myapl2.py,则可能会出现此错误,请先阅读

第一件事:编写此类独立脚本的最简便方法是使用

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

  • 在myapl2.py中,您正在设置日志记录。Django也使用您的日志设置执行相同的操作。那两个人可能会互相咬

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


在第一条注释中,如果我在settings.py中将disable设置为true,那么这是正确的,因此我必须进行进一步的更改。我将亲自删除您的自定义日志记录配置,并将脚本转换为manage.py子命令。这是让它正常工作的最可靠的方法。