반응형
삭제버튼 만들기
index.py
#!/usr/local/bin/python3
print("content-type:text/html; charset=UTF-8\n")
import cgi,os
files = os.listdir('data')
liststr = ''
for item in files:
liststr = liststr + '<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
form = cgi.FieldStorage()
if 'id' in form:
pageId = form["id"].value
description = open('data/'+pageId).read()
update_link = '<a href="update.py?id={pageId}">update</a>'.format(pageId=pageId)
delete_action = '''
<form action="process_delete.py" method="post">
<input type="hidden" name="pageId" value="{}">
<input type="submit" value="delete">
</form>
'''.format(pageId)
else:
pageId = 'Welcome'
description = 'Hello Python'
update_link = ''
delete_action = ''
print('''<!doctype html>
<html>
<head>
<title>WEB1 - Welcome</title>
<meta charset="utf-8">
</head>
<body>
<h1><a href="index.py">WEB</a></h1>
<ol>{listStr}</ol>
<a href="create.py">create</a>
{update_link}
{delete_action}
<h2>{title}</h2>
<p>{desc}</p>
</body>
</html>
'''.format(title=pageId, desc=description, listStr=liststr, update_link=update_link, delete_action=delete_action))
- 삭제는 링크 이동이 아닌 바로 처리해야하기에 form으로 만들어야 함
파일 삭제하기
process_delete.py
#!/usr/local/bin/python3
import cgi, os
form = cgi.FieldStorage()
pageId = form["pageId"].value
os.remove('data/'+pageId)
# Redirection
print("Location: index.py")
print()
- os모듈의 remove로 파일 삭제함
반응형
'Dev > Python' 카테고리의 다른 글
[Python] 업데이트하기(input, format, rename) (0) | 2020.08.23 |
---|---|
[Python] form 값 처리하기(FieldStorage, open, Location) (0) | 2020.08.23 |
[Python] 파일목록 읽기 - listdir, 반복문 - for (0) | 2020.08.23 |
[Python] 파일 읽기 open().read() (0) | 2020.08.22 |
[Python] cgi.FieldStorage() (0) | 2020.08.22 |