생활코딩19~22강
==========19.활용-form
<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>
----------url query string 아주 위험
<form action="process_create.py">
<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>
----------post방식으로 변경
<form action="process_create.py" method="post">
==========20.활용-전송한 정보처리
----------
form = cgi.FieldStorage()
title=form["title"].value
description=form["description"].value
print(title,description)
----------
python3 file write검색
print(title,description)
opened_file=open('data/'+title,'w')
opened_file.write(description)
#Redirection
print("Location: index.py?id="+title+"\n")
==========21.활용-수정구현
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)
else:
pageId='Welcome'
description='Hello, WEB'
update_link=''
----------
<form action="process_create.py" method="post">
<a href="create.py">creat</a>
<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>
...
'''.format(title=pageId, desc=description,listStr=listStr,form_default_title=pageId,form_default_description=description))
----------
<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>
----------process_update.py
#!python
#print("Content-Type: text/html\n")
import cgi
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)
print("Location: index.py?id="+title+"\n")
---------python3 file rename검색
import cgi, os
os.rename('data/'+pageId,'data/'+title)
----------정리하면
----------index.py
#!python
print("Content-Type: text/html\n")
import cgi, os
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)
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)
else:
pageId='Welcome'
description='Hello, WEB'
update_link=''
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>
{update_link}
<h2>{title}</h2>
<p>{desc}</p>
</body>
</html>
'''.format(title=pageId, desc=description,listStr=listStr,update_link=update_link))#query string
----------create.py
#!python
print("Content-Type: text/html\n")
import cgi, os
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)
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=listStr))#query string
----------update.py
#!python
print("Content-Type: text/html\n")
import cgi, os
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)
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=listStr,form_default_title=pageId,form_default_description=description))#query string
----------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")
https://opentutorials.org/course/3256/19893
=========22.활용-삭제구현
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=''
----------
<a href="create.py">creat</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))#query string
----------python3 file delete검색
----------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")