sudo tail -f /var/log/apache2/error.log
chmod -R
if 'id' in form:
update_link = '<a href="update.py?id={}">update</a>'.format(pageId)
else:
update_link = ''
<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>
<input type="hidden" name="pageId" value="{form_default_title}">
import os
os.rename('data/'+pageId, 'data/'+title)
#!/usr/bin/python3
import cgi
form = cgi.FieldStorage()
title = form["title"].value
description = form["description"].value
opened_file = open('data/'+title, 'w')
opened_file.write(description)
opened_file.close()
print("Location: index.py?id="+title)
print()
if 'id' in form:
delete_action = '''
<form action="process_delete.py" method="post">
<input type="hidden" name="pageId" value="{}">
<input type="submit" value="delete">
</form>
'''.format(pageId)
else:
delete_action = ''
import os
os.remove("ChangedFile.csv")
print("File Removed!")
a = 1
b = 2
c = 3
s = a + b + c
r = s / 3
print(r)
2.0
def average():
a = 1
b = 2
c = 3
s = a + b + c
r = s / 3
print(r)
average()
2.0
def average(a, b, c):
s = a + b + c
r = s / 3
print(r)
average(10, 20, 30)
20.0
def getList():
files = os.listdir('data')
listStr = ''
for item in files:
listStr = listStr + '<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
return listStr
서로 연관된 변수, 함수, 객체를 그룹핑하는 거대한 수납상자
# math.py
def average(a, b, c):
s = a + b + c
r = s / 3
return r
def plus(a,b):
return a + b
pi = 3.14
print(average(1, 2, 3))
# moduel.py
import math
print(math.average(1, 2, 3))
# view.py
import os
def getList():
files = os.listdir('data')
listStr = ''
for item in files:
listStr = listStr + '<li><a href="index.py?id={name}">{name}</a></li>'.format(name=item)
return listStr
# index.py
import view
.format(listStr = getList())
사용자가 자바스크립트 코드를 추가한다면 우리는 원하지 않은 창을 볼 수 도 있다. 그것을 예방하여 사용자가 <script></script>
태그를 추가하면 자바스크립트 태그가 아닌 단지 텍스트로 읽히게하는 방법이 있다.
description = description.replace('<', '<')
description = description.replace('<', '>')
sudo apt-get install python3-pip
pip3 install html-sanitizer
import html_sanitizer
sanitizer = html_sanitizer.Sanitizer()
description = sanitizer.sanitize(description)
API는 Application Programming Interface의 약자입니다. Computer Programming의 부품들은 print, listdir, format과 같은 함수들 입니다. 우리는 이것을 응용해서 컴퓨터가 기본적으로 제공하지 않는 새로운 기능을 만들 수 있게 됩니다. application이라는 말은 응용, 활용이라는 뜻이 있는데 이렇게 기존의 기능을 응용해서 새로운 기능을 만든다는 점에서 우리가 만든 것을 application이라고 부릅니다. program이라는 말은 시간의 순서에 따라서 일어나는 일들을 의미합니다. 이런 점에서 우리가 만든 것을 program이라고도 부릅니다.
<참고>