728x90
1. 새로운 API 생성
@router.get("/delete/{todo_id}")
async def delete_todo(request: Request, todo_id: int, db: Session = Depends(get_db)):
todo_model = db.query(models.Todos).filter(models.Todos.id == todo_id)\
.filter(models.Todos.owner_id == 6).first()
if todo_model is None:
return RedirectResponse(url="/todos", status_code=status.HTTP_302_FOUND)
db.query(models.Todos).filter(models.Todos.id == todo_id).delete()
db.commit()
return RedirectResponse(url="/todos", status_code=status.HTTP_302_FOUND)
2. edit.html 수정
{% include 'layout.html' %}
<div class="container">
<div class="card">
<!--상단 타이틀-->
<div class="card-header">
Let's edit your todo!
</div>
<!--줄바꿈-->
<div class="card-body">
<form method="POST">
<!--제출버튼-->
<button type="submit" class="btn btn-primary">Edit your todo</button>
<button onclick="window.location.href='/todos/delete/{{todo.id}}'"
type="button" class="btn btn-danger"> Delete</button>
</form>
</div>
</div>
</div>
onclick - 클릭 시 delete API 호출
3. 웹 확인
728x90
SMALL
'Develop > FastAPI' 카테고리의 다른 글
FastAPI 프로젝트 진행(로그인 기능 구현 API) - 90 (0) | 2023.01.29 |
---|---|
FastAPI 프로젝트 진행(완료 버튼 작동, RedirectResponse) - 89 (0) | 2023.01.29 |
FastAPI 프로젝트 진행(데이터 수정 API, RedirectResponse) - 87 (0) | 2023.01.29 |
FastAPI 프로젝트 진행(DB 데이터 화면 뿌리기) -86 (0) | 2023.01.29 |
FastAPI 프로젝트 진행(데이터 생성 API, RedirectResponse) - 85 (0) | 2023.01.29 |