WEB2 - Python

활용 - 생성 구현 1 - form

수업소개

사용자의 정보를 서버로 전송하는 장치인 form의 사용법을 알아봅니다.

 

 

강의

 

 

소스코드

변경사항 

create.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()
else:
    pageId = 'Welcome'
    description = 'Hello, web'
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>
  <form action="process_create.py" method="post">
      <p><input type="text" name="title" placeholder="title"></p>
      <p><textarea rows="4" name="description" placeholder="description"></textarea></p>
      <p><input type="submit"></p>
  </form>
</body>
</html>
'''.format(title=pageId, desc=description, listStr=listStr))

 

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()
else:
    pageId = 'Welcome'
    description = 'Hello, web'
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>
  <h2>{title}</h2>
  <p>{desc}</p>
</body>
</html>
'''.format(title=pageId, desc=description, listStr=listStr))

 

댓글

댓글 본문
작성자
비밀번호
  1. 연준희
    컴퓨터 환경마다 정렬하는 순서가 틀려서 다르게 보일 수 있습니다.
    파이썬에 정렬 순서를 바꾸는 법도 있을거에요.
    대화보기
    • goyacommae
      아아 감수성이 점점 좋아집니다...~.~
    • illliilllliillliii
      감사합니다 ~
    • 굿잡
      리눅스상에서는 알파벳순으로 정렬이 되고 파이썬으로 긁어올때는 역순으로 긁어와지지 않나요?
      저는 그렇게 되는데...
      대화보기
      • 마샤
        data 폴더에 어떻게 python이 최상위로 올 수 있죠?
        P는 알파벳 뒤쪽이라 항상 JavaScript 뒤로 오던데(제 거에서는요). 어떤 비밀이 숨어있는지 궁금해요
      버전 관리
      egoing
      현재 버전
      선택 버전
      graphittie 자세히 보기