생활코딩26~27강
==========26.문법-모듈
----------mathModule.py
def aver(a,b,c):
s=a+b+c
r=s/3
return r
def plus(a,b):
return a+b
pi=3.14
----------module.py
import mathModule
print(mathModule.aver(1,2,3))
print(mathModule.plus(1,2))
print(mathModule.pi)
----------
from math import aver, plus, pi
print(aver(1,2,3))
print(plus(1,2))
print(pi)
==========27.활용-리팩토링
----------index.py
import cgi, os, view
# def getList():
# files=os.listdir('data')
# #print(files)
# listStr=''
# for item in files:
# listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
# #print(listStr)
# return listStr
----------view.py
import os
def getList():
files=os.listdir('data')
#print(files)
listStr=''
for item in files:
listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#print(listStr)
return listStr
----------index.py
'''.format(
title=pageId, desc=description,listStr=view.getList(),
update_link=update_link,delete_action=delete_action))#query string
----------코드정리index.py
#!python
print("Content-Type: text/html\n")
import cgi, os, view
# def getList():
# files=os.listdir('data')
# #print(files)
# listStr=''
# for item in files:
# listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
# #print(listStr)
# return listStr
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">creat</a>
<form action="process_update.py" method="post">
<input type="hidden" name="pageId" value="{form_default_title}">
<p><input type="text" name="title" placeholder="title" value="{form_default_title}"></p>
<p><textarea rows="4" name="description" placeholder="description">{form_default_description}</textarea></p>
<p><input type="submit"</p>
</form>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=view.getList(),form_default_title=pageId,form_default_description=description))#query string
----------코드정리create.py
#!python
print("Content-Type: text/html\n")
import cgi, os, view
# def getList():
# files=os.listdir('data')
# #print(files)
# listStr=''
# for item in files:
# listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
# #print(listStr)
# return listStr
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>
<form action="process_create.py" method="post">
<a href="create.py">creat</a>
<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=view.getList()))#query string
----------코드정리update.py
#!python
print("Content-Type: text/html\n")
import cgi, os, view
# def getList():
# files=os.listdir('data')
# #print(files)
# listStr=''
# for item in files:
# listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
# #print(listStr)
# return listStr
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">creat</a>
<form action="process_update.py" method="post">
<input type="hidden" name="pageId" value="{form_default_title}">
<p><input type="text" name="title" placeholder="title" value="{form_default_title}"></p>
<p><textarea rows="4" name="description" placeholder="description">{form_default_description}</textarea></p>
<p><input type="submit"</p>
</form>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=view.getList(),form_default_title=pageId,form_default_description=description))#query string
----------코드정리view.py
import os
def getList():
files=os.listdir('data')
#print(files)
listStr=''
for item in files:
listStr=listStr+'<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
#print(listStr)
return listStr
----------코드정리process_create.py
#!python
#print("Content-Type: text/html\n")
import cgi, os
form = cgi.FieldStorage()
title=form["title"].value
description=form["description"].value
#print(title,description)
opened_file=open('data/'+title,'w')
opened_file.write(description)
opened_file.close()#이거 안하면 permition error남
#Redirection
print("Location: index.py?id="+title+"\n")
----------코드정리process_update.py
#!python
import cgi, os
form = cgi.FieldStorage()
pageId=form["pageId"].value
title=form["title"].value
description=form["description"].value
#print(title,description)
opened_file=open('data/'+pageId,'w')
opened_file.write(description)
opened_file.close()#이거 안하면 permition error남
os.rename('data/'+pageId,'data/'+title)
#Redirection
print("Location: index.py?id="+title+"\n")
----------코드정리process_delete.py
#!python
#print("Content-Type: text/html\n")
import cgi, os
form = cgi.FieldStorage()
pageId=form["pageId"].value
os.remove('data/'+pageId)
#Redirection
print("Location: index.py\n")