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

 

댓글

댓글 본문
작성자
비밀번호
  1. powerwithlove
    ^^
  2. SongSong
    안녕하세요~
    아톰 에디터에서 파일 추가하면 알파벳 순서대로 저장이 돼서
    그 순서대로 화면에 표시 되는데
    그 순서를 임의로 변경할 수 있는 방법이 혹시 있을까요 ?
  3. goyacommae
    아톰 에디터 관련 질문입니다. html태그 안에 있는 파이썬 언어 색이 별도로 표시되는건 어떤 패키지 기능인가요?
  4. 만일 listStr = listStr + 를 하지 않으면 listStr에는 맨 마지막 item이 할당 되어 마지막 한개만 표시됩니다.
    의문이 생기면 바로 직접 테스트해보면 스스로 알게 됩니다.
  5. illliilllliillliii
    감사합니다 ~
  6. novice
    프로그래밍 처음 배우는 노비스입니다. 강의 잘 듣고 있습니다. 항상 감사합니다.^^
    listStr = listStr + ~~~~
    이게 왜 필요한지 이해를 못하고 있습니다. @.@
    그냥 listStr ='<li><a href="index.py?id={name}</a></li>'.format(name=item)
    이렇게 하면 안되는건가요?
  7. egoing
    초기화라고 생각하시면 될 것 같습니다.
    대화보기
    • 굿잡
      내용을 비운 변수를 선언한거 아닌가요?
    • 마샤
      listStr = ''

      작은 따옴표 두 개는 왜 붙이는 거죠?
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기