python – 龙卷风中的Django用户
发布时间:2020-12-20 13:34:28 所属栏目:Python 来源:网络整理
导读:我一直在使用下面的代码来获取龙卷风中的 django用户: from django.conf import settingsimport django.contrib.authimport django.utils.importlibimport tornadofrom tornado.options import optionsimport tornado.webimport tornado.ioloopimport sockj
我一直在使用下面的代码来获取龙卷风中的
django用户:
from django.conf import settings import django.contrib.auth import django.utils.importlib import tornado from tornado.options import options import tornado.web import tornado.ioloop import sockjs.tornado class RouterConnection(sockjs.tornado.SockJSConnection): def get_current_user(self,info): engine = django.utils.importlib.import_module(django.conf.settings.SESSION_ENGINE) session_key = str(info.get_cookie(django.conf.settings.SESSION_COOKIE_NAME)).split('=')[1] class Dummy(object): pass django_request = Dummy() django_request.session = engine.SessionStore(session_key) user = django.contrib.auth.get_user(django_request) return user def on_open(self,info): user = self.get_current_user(info=info) if __name__ == "__main__": import logging Router = sockjs.tornado.SockJSRouter(RouterConnection) app = tornado.web.Application(Router.urls,debug=True,) app.listen(settings.TORNADO_PORT) tornado.options.parse_command_line() tornado.ioloop.IOLoop.instance().start() 我的问题如下: 提前谢谢了. 解决方法
要重置django日志记录,请使用以下命令:
logger = logging.getLogger('') for handler in logger.handlers: logger.removeHandler(handler) tornado.options.parse_command_line() 使用django.conf模块时,LazySettings类在初始化的django logger中初始化. from django.conf import settings import django.contrib.auth import django.utils.importlib import tornado from tornado.options import options import tornado.web import tornado.ioloop import sockjs.tornado TORNADO_PORT = settings.TORNADO_PORT class RouterConnection(sockjs.tornado.SockJSConnection): def get_current_user(self,info): engine = django.utils.importlib.import_module(settings.SESSION_ENGINE) session_key = str(info.get_cookie(settings.SESSION_COOKIE_NAME)).split('=')[1] class Dummy(object): pass django_request = Dummy() django_request.session = engine.SessionStore(session_key) user = django.contrib.auth.get_user(django_request) return user def on_open(self,info): user = self.get_current_user(info=info) if __name__ == "__main__": import logging logger = logging.getLogger('') for handler in logger.handlers: logger.removeHandler(handler) tornado.options.parse_command_line() Router = sockjs.tornado.SockJSRouter(RouterConnection) app = tornado.web.Application(Router.urls,debug=settings.DEBUG) app.listen(settings.TORNADO_PORT) tornado.options.parse_command_line() tornado.ioloop.IOLoop.instance().start() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |