python – 龙卷风中的Django用户

python – 龙卷风中的Django用户,第1张

概述我一直在使用下面的代码来获取龙卷风中的 django用户: from django.conf import settingsimport django.contrib.authimport django.utils.importlibimport tornadofrom tornado.options import optionsimport tornado.webimport to 我一直在使用下面的代码来获取龙卷风中的 django用户:

from django.conf import settingsimport django.contrib.authimport django.utils.importlibimport tornadofrom tornado.options import optionsimport tornado.webimport tornado.ioloopimport sockJs.tornadoclass 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更改了日志配置,我再也看不到龙卷风的任何日志输出了.我怎样才能重新初始化龙卷风伐木?还有其他方法可以将Django与Tornado集成吗?

提前谢谢了.

解决方法 要重置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 settingsimport django.contrib.authimport django.utils.importlibimport tornadofrom tornado.options import optionsimport tornado.webimport tornado.ioloopimport sockJs.tornadoTORNADO_PORT = settings.TORNADO_PORTclass 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()
总结

以上是内存溢出为你收集整理的python – 龙卷风中的Django用户全部内容,希望文章能够帮你解决python – 龙卷风中的Django用户所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1196802.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存