fastapi extend
Project description
1、install
pip install fastapi_extend
2、use
1)、 jwt
from pydantic import BaseModel
from fastapi_extend import AuthHandler
from fastapi import APIRouter, Depends
auth_handler = AuthHandler()
class AuthDetails(BaseModel):
username: str
password: str
router = APIRouter()
@router.post('/login')
async def login(auth_details: AuthDetails):
token = auth_handler.encode_token(auth_details.username)
return {'data': token, "status": "success"}
@router.get('/protected')
async def protected(username=Depends(auth_handler.auth_wrapper)):
return {'name': username}
2)、Pagination
from fastapi_extend.pagenator import PageNumberPagination
paginator = PageNumberPagination(
params,
Trade,
TradeSerial,
exclude={"start", "end"},
)
query = paginator.get_queryset()
if params.start:
query = query.where(Trade.trade_datetime >= params.start)
if params.end:
query = query.where(Trade.trade_datetime <= params.end)
data = await paginator.paginate_query(query, session)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for fastapi_extend-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22876e18a41e4807fe2163a6e1d1ece8e670f99f35fa3896110e0e8ccf8a016d |
|
MD5 | 61444b4bbc334fc4e3b1be2757b98d6c |
|
BLAKE2b-256 | a8db751ca1c85580746e858135f6d229c8f9ba2c298d506b1206e9a589b24433 |