首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
宝塔
V2EX  ›  Python

关于 sanic 框架 listener 的一个问题

  •  
  •   ltoddy · 2018-06-21 19:05:26 +08:00 · 1134 次点击
    这是一个创建于 516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    from sqlalchemy import create_engine
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker
    
    
    @app.listener('before_server_start')
    async def before_server_start(app, loop):
        # database config
        app.engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI'], echo=app.config['SQLALCHEMY_TRACK_MODIFICATIONS'])
        app.Base = declarative_base(bind=app.engine)
    
        Session = sessionmaker(bind=app.engine)
        app.db_session = Session()
    
        app.Base.metadata.create_all()
    

    这是我的一段代码,listener('before_server_start') 在服务启动前运行, 我把 sqlalchemy 所必须的几个对象和类变成 app ( Sanic 的对象)的属性后, 当我想要在 models 中想要类似这样定义的时候:

    class User(app.Base)
    

    却报错。

    也就是说,模块加载的时间在 app.listener('before_server_start')运行之前。

    不知道有用 Sanic+sqlalchemy 你们怎么做的?

    文档给的一个 example。

        1
    ltoddy   2018-06-21 19:18:43 +08:00
    有没有人知道怎么删帖,我想删除了,自己解决了。
        2
    cszhiyue   2018-06-21 21:05:43 +08:00 via Android
    应该考虑是怎么解决的给后人一点提示
        3
    keysona   2018-06-21 21:07:04 +08:00
    清空内容
    转移节点至水
    点击下沉

    基本就可以了。
        4
    WildCat   2018-06-21 21:24:29 +08:00
    说个不相关的话题,sanic 并不好用,我自己的开源项目都想换 tornado 了。
        5
    billgreen1   2018-06-22 00:18:11 +08:00
    @ltoddy 最讨厌你这样的,不会的时候发帖问,自己有解决方案了就藏着掖着
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   981 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 20:14 · PVG 04:14 · LAX 12:14 · JFK 15:14
    ♥ Do have faith in what you're doing.