Toy Project with Go Lang - 3

less than 1 minute read

Project 셋째날

  • 오늘의 목표는! HTML 동적 테이블 만들기.

HTML 을 따로 공부한 적이 없다 보니 가능한 일이라고는 생각이 되었지만, 관련된 자료를 찾는 데에 어려움이 있었다. 오늘 하고 싶었던 일은, Database 에서 받아온 데이터를 HTML 을 활용해 서버에 띄우는 것이었는데 JavaScript 관련 자료는 많았는데 Golang 은 어떻게 해야 하는건지 감이 오지 않았다.

그러던 중, Golang 의 html/template 패키지에 대해 알게 되었고, 이를 통해 내가 원하는 동적 테이블을 만들 수 있겠다는 생각이 들었다. 다만 아쉬운 점은, 기존에 posts 를 감싸는 구조체를 새로 필요로 해서, 이를 만들게 된 점이다. 생각으로는 추가적인 구조체 없이 사용을 하고 싶었는데, 방법을 찾지 못해 우선은 이렇게 만들게 되었다.

template 패키지는 아래와 같이 사용이 가능했다.

tmpl = template.Must(template.ParseFiles("/home/jjun/workspace/toy_project/src/static/board/index.html"))

// in handler
tmpl.Execute(w, postView)

template 의 Must 메소드를 활용해 어떤 static 파일을 사용을 할 것인지, Execute 메소드를 활용해 어떤 변수를 Base 로 사용할 건지를 설정을 할 수 있었다. HTML 파일에서는 `` 안에서 . 를 사용해 Base 로 설정한 변수의 내부 변수들을 사용을 할 수 있었다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Board</title>
</head>
<body>
<div>
    <table style="border: 1px;">
        <thead>
        <tr>
            <th>Index</th>
            <th>Title</th>
        </tr>
        </thead>
        <tbody>
        
        <tr>
            <td></td>
            <td></td>
        </tr>
        
        </tbody>
    </table>
</div>
</body>
</html>

오늘은 여기까지. 생각보다 동적 테이블을 만드는 데 시간을 너무 많이 쏟았다. (Database 코드의 아주 조금의 오류.. 때문이었지만) 내일(?)은 Link 를 만들고 이를 통해 게시물 조회를 할 수 있게 만들고 싶다….

Reference : Golang Template