Python Django Web Framework - 14/14.

leecw4u·2023년 11월 15일
0

Django

목록 보기
14/15
post-thumbnail

앞으로 장고를 사용하여 더 공부해야 될 내용을 여기에 정리해 보았다.

Database

지금까지 우린 정보를 메모리에 저장했지만 앱이 재실행 될 때마다 리셋된다.

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를 매우 손 쉽게 사용할 수 있다.

Security

방문자가 상세페이지에서 페이지를 삭제하는 code를 body에 넣으면 웹 사이트가 정상적으로 작동하지 못하게 된다.
이를 위해서 보안은 필수이다.

CleanCode

현재, 파이썬 코드와 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을 사용하면 좋다.

profile
초보 개발자의 끄적끄적 스터디 블로그

0개의 댓글

관련 채용 정보