앞으로 장고를 사용하여 더 공부해야 될 내용을 여기에 정리해 보았다.
지금까지 우린 정보를 메모리에 저장했지만 앱이 재실행 될 때마다 리셋된다.
topics = [
{'id':1, 'title': 'routing', 'body': 'routing is...' },
{'id':2, 'title': 'view', 'body': 'view is...' },
{'id':3, 'title': 'model', 'body': 'model is...' },
]
영구적으로 보관하려면 database
를 사용해야하고 django에 model 기능을 사용한다면 database를 매우 손 쉽게 사용할 수 있다.
방문자가 상세페이지에서 페이지를 삭제하는 code를 body에 넣으면 웹 사이트가 정상적으로 작동하지 못하게 된다.
이를 위해서 보안은 필수이다.
현재, 파이썬 코드와 html코드가 같이 있어 복잡하다.
def HTMLTemplate(articleTag, id=None):
global topics
contextUI = ""
if id != None:
contextUI = f'''
<li>
<form action="/delete/" method="post">
<input type="hidden" name="id" value={id}>
<input type="submit" value="delete">
</form>
</li>
<li><a href="/update/{id}">update</a></li>
'''
ol = ''
for topic in topics:
ol += f'<li><a href="/read/{topic["id"]}">{topic["title"]}</a></li>'
return f'''
<html>
<body>
<h1><a href="/">Django</a></h1>
<ol>
{ol}
</ol>
{articleTag}
<ul>
<li><a href="/create/">create</a></li>
{contextUI}
</ul>
</body>
</html>
'''
가독성과 실수를 방지하기 위해서 Template Engine
을 사용하면 좋다.