생활코딩

Coding Everybody

활용 - 삭제 구현

토픽 생활코딩 > WEB > WEB2 - Python

수업소개

글 삭제 기능을 구현하는 방법을 알아보겠습니다.

 

 

강의

 

 

소스코드

변경사항

index.py

#!/usr/local/bin/python3
print("Content-Type: text/html")
print()
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, 'r').read()
    update_link = '<a href="update.py?id={}">update</a>'.format(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, web'
    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))

 

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()

 

댓글

댓글 본문
  1. scientist
    220818
  2. 윤재승
    더 재밌네요 3.19
  3. labis98
    2022.02.26 좋은 강의 한번 더 들어요~~~!
  4. labis98
    20220118 좋은 강의 감사합니다.
  5. 2021.09.11 완료
    소스코드 복붙해도 안되서 오타는 아닌거 같으므로 일단 넘어가기
  6. 하루살이
    ++
  7. 이택진
    210521
  8. 초딩 개발자
    2021/05/10
  9. jeisyoon
    2021.04.09 삭제구현 - OK
  10. 박민지
    2021.01.16
  11. cgoing
    cgoing / 2020.10.04
  12. 악어
    2020-03-15 완료!
  13. 스티븐잡숴
    완료
  14. apldeap
    12/29
  15. 쑤우
    수강완료. 감사합니다.
  16. 굼벵이
    완료
  17. Ted
    20191007 Ted 완료!
  18. bright_kim
    Thank you so much~!
    I've got it. I made it.
  19. Inyeong Gim
    천지창조를 할 수 있는 능력을 얻게된 기분이네요! ㅎㅎ
  20. 영감
    드디어 완성입니다
    그런데
    진행할수록 봤어요가 줄어드네요 ㅠㅠ
  21. San Ho Lee
    C,R,U,D 완성입니다.

    첫 프로그래밍 언어로 C언어를 마무리 할 때 전화번호부 콘솔 프로그램을 작성하는 문제가 있었는데, 프로그램의 본질은 어느 것에서나 비슷하다는 생각을 다시 한 번 하게 되었네요.
    매우 유익하게 진행중입니다!
  22. 열공러
    후아..! 드디어 크루드 완성했네요!
    정말 재밌게 따라왔습니다 ㅋㅋ
  23. JuicyFresh
    감사합니다.
  24. 안녕하세요! 생활코딩 수업 잘 듣고 있는 학생입니다 ^^
    이고잉님의 강의 덕에 어려운 프로그래밍에 하나부터 차근차근 접근할 수 있어서 항상 감사한 마음 가지고 있습니다

    이번 수업에서 이고잉님의 주문대로 코딩을 완료했는데

    pageId 이름 에 띄어쓰기가 들어가면
    생성구현은 되는데 삭제구현을 하면 애러가 뜨더군요

    이 경우는 어떻게 해결할 수 있을까요?