삭제는 젤 간단혀
index.py
form = cgi.FieldStorage() # cgi에서 제공하는 함수를 통해 페이지에 있는 정보들을 가져옴
if 'id' in form:
pageId = form["id"].value
f = open('data/'+pageId,'r', encoding='UTF-8')
desc = f.read()
f.close()
modify = '<a href="modify.py?id={}">수정하기</a>'.format(pageId)
delete_action = ''' # <-- 여기 부터
<form action = "process_delete.py" method="POST">
<input type="hidden" name="title" value="{}"/>
<input type="submit" value="삭제">
</form>
'''.format(pageId) # <-- 여기까지 추가
else:
pageId = "Welcome"
desc = "Hello, Web"
modify = ''
delete_action = '' # <-- 여기 추가
print('''
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>web python </title>
</head>
<body>
<h1><a href="index.py">Web</a></h1>
<ol>
{list}
</ol>
<a href="create.py">글쓰기</a>
{update_link} {delete_action} # <-- 여기 추가
<h2>{title}</h2>
<p>{description}</p>
</body>
</html>
'''.format(list=listStr,title=pageId, description=desc, update_link=modify, delete_action=delete_action))
# <-- format 추가
삭제는 눈에 보여줄게 없으니까 그저 id값만 전달해주는 폼만 만들면 된다.
그리고 파일을 삭제하는 기능을 수행하는 process_delete.py만 만들면 됨
process_delete.py
#!python
import cgi, os
form = cgi.FieldStorage()
title = form["title"].value
os.remove("data/"+title)
print("Location: index.py")
print()
title 값과 파일 명이 동일하므로 얘를 이용해서 파일을 삭제한다.
os.remove(파일) 이 형식으로 삭제를 요청하면 된다.
그리고 더이상 보여줄 화면이 없으니까 welcome페이지로 이동하게 한다. (id 값을 안줘도 됨)
Delete 기능 구현 결과
1. 삭제 버튼 클릭
2. 삭제 완료 및 웰컴페이지 이동
방금 삭제한 파일이 없어진 것을 볼 수 있다.
[Python] 생활 코딩 python 강의 따라하기 4 (CRUD 중 수정 기능 구현하기) (0) | 2021.05.23 |
---|---|
[Python] 생활 코딩 python 강의 따라하기 3 (CRUD 중 등록 기능 구현하기) (0) | 2021.05.23 |
[Python] 생활코딩 강의 따라하기 2 (list 동적으로 추가하기-file읽어오기, url query가져오기)_부제: 파이썬 한글 깨짐 해결 (0) | 2021.05.23 |
[Python] 생활 코딩 python 강의 따라하기 1 (python 파일 웹에 띄우기) (0) | 2021.05.22 |