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 で、このディレクトリに移動して myapl2.py を実行すると、エラーが発生しました。

カテゴリのインポート時に問題があるようですが、

私はcmdで次のようになりました:

django.shortcuts import render_to_response から

エラーを発生: 環境変数を定義できないため、設定をインポートできません

4

2 に答える 2

0

まず最初に:このようなスタンドアロンスクリプトを作成する最も便利な方法は、manage.pyサブコマンドを使用することです。

コードに関する2つのコメント:

  • myapl2.pyでは、ロギングを設定しています。Djangoは、LOGGING設定を使用して同じことを行います。それらの2つは互いに噛み合うかもしれません。

  • そして(おそらくコピー/貼り付けエラー):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 に答える