我有一个字典数据,其中包含每个用户创建的玩家数量:
视图.py
def statistics(request):
users = User.objects.all()
data = dict()
for user in users:
players = Players.objects.filter(created__email=user.email).count()
if players > 0:
data[user.email] = players
logger.info(data)
Run Code Online (Sandbox Code Playgroud)
使用 runserver 时如何在控制台中打印此字典?我见过 django 记录器,但我没有完全理解它们。
你应该像
import os
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'filters': ['require_debug_true'],
},
},
'loggers': {
'mylogger': {
'handlers': ['console'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'),
'propagate': True,
},
},
}
Run Code Online (Sandbox Code Playgroud)
这将在DEBUG = True(通常使用 runserver)时打印到控制台。然后你可以做
import logging
logger = logging.getLogger("mylogger")
logger.info("Whatever to log")
Run Code Online (Sandbox Code Playgroud)
参考文档