Browse Source

博客类型

master
sunfree 11 months ago
parent
commit
fd4a2dd529
  1. BIN
      __pycache__/dependencies.cpython-310.pyc
  2. BIN
      __pycache__/main.cpython-310.pyc
  3. BIN
      internal/__pycache__/__init__.cpython-310.pyc
  4. BIN
      internal/__pycache__/database.cpython-310.pyc
  5. BIN
      internal/__pycache__/models.cpython-310.pyc
  6. 9
      internal/models.py
  7. 49
      main.py
  8. BIN
      routers/__pycache__/__init__.cpython-310.pyc
  9. BIN
      routers/__pycache__/typemanage.cpython-310.pyc
  10. BIN
      routers/__pycache__/usermanage.cpython-310.pyc
  11. 11
      routers/typemanage.py
  12. 1
      routers/usermanage.py

BIN
__pycache__/dependencies.cpython-310.pyc

BIN
__pycache__/main.cpython-310.pyc

BIN
internal/__pycache__/__init__.cpython-310.pyc

BIN
internal/__pycache__/database.cpython-310.pyc

BIN
internal/__pycache__/models.cpython-310.pyc

9
internal/models.py

@ -42,16 +42,21 @@ class BlogList(BaseModel):
)] )]
blogtype:Annotated[str,Field( blogtype:Annotated[str,Field(
title="博客类型", title="博客类型",
examples=['blogtype'],
default=None,
description="博客类型允许为空" description="博客类型允许为空"
)] )]
viewsnum:Annotated[int,Field(
title="访问量",
default=None,
description="访问量可以为空"
)]
addtime:Annotated[datetime,Field( addtime:Annotated[datetime,Field(
title="发布时间", title="发布时间",
description="数据库中提供了默认值" description="数据库中提供了默认值"
)] )]
descr:Annotated[str,Field( descr:Annotated[str,Field(
title="备注", title="备注",
examples=['descr'],
default=None,
description="备注允许为空" description="备注允许为空"
)] )]

49
main.py

@ -6,10 +6,9 @@ from internal.models import Token
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from routers import usermanage,typemanage from routers import usermanage,typemanage
from internal.models import BlogList from internal.models import BlogList
from typing import List
app=FastAPI() app=FastAPI()
# app.include_router(usermanage.router)
# app.include_router(typemanage.router)
app.include_router(usermanage.router)
app.include_router(typemanage.router)
app.add_middleware( app.add_middleware(
CORSMiddleware, CORSMiddleware,
allow_origins=['http://localhost:5173'], # 允许的源 allow_origins=['http://localhost:5173'], # 允许的源
@ -18,23 +17,23 @@ app.add_middleware(
allow_headers=['Authorization', 'Content-Type'], # 允许的请求头 allow_headers=['Authorization', 'Content-Type'], # 允许的请求头
) )
# 用户登录
@app.post("/token", response_model=Token)
async def login_for_access_token(
form_data: OAuth2PasswordRequestForm = Depends(),
) -> Token:
user = authenticate_user(form_data.username, form_data.password)
if not user:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Incorrect username or password",
headers={"WWW-Authenticate": "Bearer"},
)
access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
access_token = create_access_token(
data={"sub": user.username}, expires_delta=access_token_expires
)
return {"access_token": access_token, "token_type": "bearer"}
# # 用户登录
# @app.post("/token", response_model=Token)
# async def login_for_access_token(
# form_data: OAuth2PasswordRequestForm = Depends(),
# ) -> Token:
# user = authenticate_user(form_data.username, form_data.password)
# if not user:
# raise HTTPException(
# status_code=status.HTTP_401_UNAUTHORIZED,
# detail="Incorrect username or password",
# headers={"WWW-Authenticate": "Bearer"},
# )
# access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
# access_token = create_access_token(
# data={"sub": user.username}, expires_delta=access_token_expires
# )
# return {"access_token": access_token, "token_type": "bearer"}
# 注册新用户 # 注册新用户
@app.post("/register/") @app.post("/register/")
@ -62,8 +61,8 @@ async def read_users_me(current_user: User = Depends(get_current_active_user)):
async def read_own_items(current_user: User = Depends(get_current_active_user)): async def read_own_items(current_user: User = Depends(get_current_active_user)):
return [{"item_id": "Foo", "owner": current_user.username}] return [{"item_id": "Foo", "owner": current_user.username}]
@app.get("/list",response_model=List[BlogList])
def read_type_all():
typelist="SELECT blogname,blogtype,addtime,descr FROM blogs"
result=execute_query(typelist,fetchall=True)
return result
# @app.get("/list",response_model=list[BlogList])
# def read_type_all():
# select_query="SELECT blogname,blogtype,addtime,descr FROM blogs;"
# result=execute_query(select_query,fetchall=True)
# return result

BIN
routers/__pycache__/__init__.cpython-310.pyc

BIN
routers/__pycache__/typemanage.cpython-310.pyc

BIN
routers/__pycache__/usermanage.cpython-310.pyc

11
routers/typemanage.py

@ -2,12 +2,11 @@ from fastapi import APIRouter,Depends
from internal.models import* from internal.models import*
from dependencies import get_current_active_user,execute_query from dependencies import get_current_active_user,execute_query
router=APIRouter( router=APIRouter(
prefix="/type",
tags=["分类管理"] tags=["分类管理"]
) )
@router.get("/list",response_model=BlogList)
def read_type_all(type:BlogList,_: User = Depends(get_current_active_user)):
typelist="SELECT blogname,blogtype,addtime,descr FROM blogs"
execute_query(typelist)
return type
@router.get("/typelist",response_model=list[BlogList])
def read_type_all(_:User=Depends(get_current_active_user)):
select_query="SELECT blogname,blogtype,viewsnum,addtime,descr FROM blogs;"
type_all=execute_query(select_query,fetchall=True)
return type_all

1
routers/usermanage.py

@ -7,7 +7,6 @@ from dependencies import *
from internal.models import Token from internal.models import Token
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
router=APIRouter( router=APIRouter(
prefix="/users",
tags=["用户管理"] tags=["用户管理"]
) )

Loading…
Cancel
Save