본문으로 바로가기

js를 사용하는 pug나 ejs는 고유의 문법이 있었다. flask에서도 비슷한 문법이 존재한다. flask에서는 Jinja2를 사용한다.

음... 그런데

 

flask를 쓴다 =>

(1) django를 쓰지 않을 정도로 작은 토이 프로젝트

(2) NoSQL을 사용하면서도 ML 등 데이터 관련 코드와 연계성을 위해 python으로 백엔드를 짜고 싶다

일 텐데 사실 이런 레벨이면 jinja2를 사용하기 보다 따로 Frontend Framework를 사용하지 않을까... 싶습니다.

 

여튼, 다음과 같이 route 처리를 해줬다고 봅시다.

@app.route("/report")
def report():
  
  ... 로직은 생략합니다.
  
  return render_template("report.html", 
    searchingBy=word, 
    results_number=len(jobs), jobs=jobs
  )

 

여기서 report.html로 searchingBy, results_number, jobs 변수를 넘겨 주었습니다.

report.html에서 jobs 배열을 돌려서 무언가 렌더링하고 싶다면 for문을 돌려야 합니다.

 

그러나 .py가 아니라 .html이기 때문에 {% %}로 감싸야 합니다.

{% for job in jobs %}
  <span>{{job.title}}</span>
  <span>{{job.company}}</span>
  <span>{{job.location}}</span>
  <a href="{{job.link}}" target="_blank">Apply</a>
{% endfor %}

 

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체