快速注册小程序:在快速 API中注册乌龟信号(fast tortoise)

我刚刚创建了一个信号,当用户被创建时生成一个令牌,我使用 tortoise.signals 在一个单独的文件中生成它,我的项目结构是这样的

├── Makefile
├── README.md
├── core
│   ├── __init__.py
│   ├── authentication.py
│   ├── email.py
│   ├── models.py
│   ├── router.py
│   ├── schema.py
│   ├── signals.py
│   └── views.py
├── main.py
├── requirements.txt
├── static
└── templates
    └── verification.html

这里是我的信号文件

# signals.py
from tortoise.signals import post_save
from tortoise import BaseDBAsync
from typing import Type, List, Optional
from .models import UserModel, business_pydantic
from .email import send_email
@post_save(sender=UserModel)
async def create_business(
    sender: "Type[UserModel]",
    instance: UserModel,
    created: bool,
    using_db: Optional[BaseDBAsync],
    update_fields: List[str],
) -> None:
    if created:
        business_objects: UserModel = await UserModel.create(
            business_name = instance.username, owner_id = instance
        )
        await business_pydantic.from_tortoise_orm(business_objects)
        
        # send email
        await send_email([instance.email], instance)
        

,我在函数create_app中导入模块

from dotenv import dotenv_values
from fastapi import FastAPI
from tortoise.contrib.fastapi import register_tortoise
from fastapi.staticfiles import StaticFiles
from .router import router
def create_app():
    app = FastAPI()
    
    # mount static files
    app.mount("/static", StaticFiles(directory="static"), name="static")
    import signals # <- import my signal file here
    register_tortoise(
        app=app,
        db_url="postgres://postgres:1234@localhost:5432/ecommerce_db",
        modules={"models": ["core.models"]},
        generate_schemas=True,
        add_exception_handlers=True,
    )
    # add routes
    app.include_router(router)
    return app

我的问题是,我在signals.py文件中创建的信号没有被读取 / 执行,我如何使我做的功能正确执行,如果我把它们放在一个单独的文件中,有没有办法注册,以便在快速 API 中读取信号?

谢谢

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(428)
问卷设计的程序:Rails:问卷应用程序的模型设计(app design questionnaire)
上一篇
怎么保存网页内容:webapp在iPad中将带有表单内容的网页保存为pdf
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(57条)