当前位置: 首页 > news >正文

那个网站推作者百度快速收录权限域名

那个网站推作者,百度快速收录权限域名,选择手机网站建设,深圳工业设计协会1. 创建项目结构 首先,设计一个合理的项目结构。这里以三个Apps为例:users、items 和 orders。2. 项目结构 my_fastapi_project/ ├── main.py ├── app/ │ ├── __init__.py │ ├── users/ │ │ ├── __init__.py │ │ ├─…

1. 创建项目结构

首先,设计一个合理的项目结构。这里以三个Apps为例:users、items 和 orders。

2. 项目结构

my_fastapi_project/
├── main.py
├── app/
│   ├── __init__.py
│   ├── users/
│   │   ├── __init__.py
│   │   ├── models.py
│   │   ├── schemas.py
│   │   ├── crud.py
│   │   └── routes.py
│   ├── items/
│   │   ├── __init__.py
│   │   ├── models.py
│   │   ├── schemas.py
│   │   ├── crud.py
│   │   └── routes.py
│   ├── orders/
│   │   ├── __init__.py
│   │   ├── models.py
│   │   ├── schemas.py
│   │   ├── crud.py
│   │   └── routes.py
├── database.py
└── config.py

3. 配置数据库连接 (database.py)

from databases import Database
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine, MetaDataDATABASE_URL = "sqlite:///./test.db"  # 使用SQLite作为示例数据库# 初始化数据库连接
database = Database(DATABASE_URL)
metadata = MetaData()
engine = create_engine(DATABASE_URL)Base = declarative_base()async def init_db():async with engine.begin() as conn:await conn.run_sync(Base.metadata.create_all)# 在实际部署中应更加谨慎地处理这一点
import asyncio
asyncio.run(init_db())

4. 定义配置 (config.py)

class Settings:openai_api_key: str = "your-openai-api-key"# 其他配置项...settings = Settings()

5. 每个App的具体实现

app/users/models.py - 用户模型定义

from sqlalchemy import Column, Integer, String
from ..database import Baseclass User(Base):__tablename__ = "users"id = Column(Integer, primary_key=True, index=True)username = Column(String, unique=True, index=True)email = Column(String, unique=True, index=True)

6. app/users/schemas.py - 用户Pydantic模式定义

from pydantic import BaseModelclass UserCreate(BaseModel):username: stremail: strclass UserSchema(UserCreate):id: intclass Config:orm_mode = True

7. app/users/crud.py - 用户CRUD操作

from sqlalchemy.orm import Session
from .models import User as UserModel
from .schemas import UserCreateasync def get_user(db: Session, user_id: int):return db.query(UserModel).filter(UserModel.id == user_id).first()async def create_user(db: Session, user: UserCreate):db_user = UserModel(**user.dict())db.add(db_user)await db.commit()await db.refresh(db_user)return db_user

8. app/users/routes.py - 用户路由定义

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from ..database import get_db_session
from .crud import get_user, create_user
from .schemas import UserCreate, UserSchemarouter = APIRouter()@router.get("/users/{user_id}", response_model=UserSchema)
async def read_user(user_id: int, db: Session = Depends(get_db_session)):db_user = await get_user(db, user_id=user_id)if db_user is None:raise HTTPException(status_code=404, detail="User not found")return db_user@router.post("/users/", response_model=UserSchema)
async def create_new_user(user: UserCreate, db: Session = Depends(get_db_session)):return await create_user(db=db, user=user)

9. 将所有路由注册到主应用 (main.py)

from fastapi import FastAPI
from app.users.routes import router as users_router
from app.items.routes import router as items_router
from app.orders.routes import router as orders_router
from database import databaseapp = FastAPI()# 包含来自不同Apps的路由
app.include_router(users_router, prefix="/users", tags=["users"])
app.include_router(items_router, prefix="/items", tags=["items"])
app.include_router(orders_router, prefix="/orders", tags=["orders"])@app.on_event("startup")
async def startup():await database.connect()@app.on_event("shutdown")
async def shutdown():await database.disconnect()

9. 启动应用程序

使用uvicorn启动应用程序:

uvicorn main:app --reload
http://www.khdw.cn/news/68515.html

相关文章:

  • 网站规划与建设课程合肥今天的最新消息
  • 青海百度关键词seo杭州网站优化搜索
  • wordpress添加导航页面seo服务公司招聘
  • cms网站建设的优缺点干净无广告的搜索引擎
  • wordpress大前端5.0下载落实好疫情防控优化措施
  • 西安信誉好的做网站的采集站seo课程
  • 广州城市建设网站爱站网使用体验
  • 现在那个网站做推广效果会好点福州百度关键词排名
  • 学校网站源码电商培训机构哪家好
  • 网站建设包括哪几个方面网络外贸推广
  • 用旧技术做网站能过毕设么知乎百度快照投诉中心官网
  • 京东建设网站的意义北京做网站的公司有哪些
  • 网站模板 素材电脑优化
  • 建设工程公司 网站成都高薪seo
  • javst WordPress 主题seo网站营销推广公司
  • 东莞最大的网络公司网站seo平台
  • 杭州开发网站的公司哪家好南宁 百度网盘
  • 做相亲网站赚钱吗搜索引擎优化的七个步骤
  • 网业游戏黑帽seo论坛
  • 网站建设 要学多久如何进行网站推广?网站推广的基本手段有哪些
  • 做的好的农产品网站互换链接的方法
  • 天津宝坻网站建设张磊sem是什么缩写
  • 宁波企业网制作公司有哪些泰州seo推广公司
  • 重视网站阵地建设免费站推广网站不用下载
  • 做网站有前途吗深圳网站seo外包公司哪家好
  • 温州网站建设公司排名如何找推广平台
  • 清远企业网站建设东莞新闻头条新闻
  • 怎么做vip电影网站广州十大营销策划公司
  • 旅游网站建设方案2019天津seo优化排名
  • 合肥金融直播室网站建设友链交易交易平台