Bri*_*unt 4 migration django google-app-engine django-signals
如何在Django 1.0中执行以下(Django 0.96)调度程序挂钩?
import django.dispatch.dispatcher
def log_exception(*args, **kwds):
logging.exception('Exception in request:')
# Log errors.
django.dispatch.dispatcher.connect(
log_exception, django.core.signals.got_request_exception)
# Unregister the rollback event handler.
django.dispatch.dispatcher.disconnect(
django.db._rollback_on_exception,
django.core.signals.got_request_exception)
Run Code Online (Sandbox Code Playgroud)
顺便提一下,这段代码来自谷歌关于在GAE上使用Django的文章.不幸的是,Django中的调度代码在0.96和1.0之间被重写,而Google的示例不适用于Django 1.0.
当然,Django人员提供了有关如何完成此迁移的有用指南,但我现在还不足以弄明白这一点.:O)
谢谢阅读.
布赖恩
基本区别在于您不再要求调度员将您连接到某些信号,您可以直接询问信号.所以它看起来像这样:
from django.core.signals import got_request_exception
from django.db import _rollback_on_exception
def log_exception(*args, **kwds):
logging.exception('Exception in request:')
# Log errors.
got_request_exception.connect(log_exception)
# Unregister the rollback event handler.
_rollback_on_exception.disconnect(got_request_exception)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |