내일배움캠프 17일차 개발일지

2021. 10. 8. 02:20스파르타코딩클럽

# TIL

 

@app.route('/')
def main():
    myname = "sparta"
    return render_template("index.html", name=myname)​


html 파이프를 이용한 정수형으로 표기
파이프 | (shift + \)
rows[0]["IDEX_MVL"]|int​



Jinja 템플릿 언어의 for문과 if 문 항상 닫아줘야 한다

<ul id="gu-list">
        {% for row in rows %}
            {% set gu_name = row["MSRSTE_NM"] %}
            {% set gu_mise = row["IDEX_MVL"] %}
            {% if gu_mise>=40 %}
                <li>{{ gu_name }}: {{ gu_mise|int }}</li>
            {% endif %}
        {% endfor %}
    </ul>​



주소창에서 데이터값을받아와 실시간으로 html 반영 (keyword)

@app.route('/detail/<keyword>')
def detail(keyword):
    r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
    response = r.json() # json 형태로 나타내주기
    rows = response['RealtimeCityAir']['row']
    word_receive = request.args.get("word_give")
    print(word_receive)
    return render_template("detail.html", rows=rows, word=keyword)


오픈 api 활용

@app.route('/detail/<keyword>')
def detail(keyword):
    r = requests.get(f"https://owlbot.info/api/v4/dictionary/{keyword}", headers={"Authorization": "Token [발급받은 토큰 자리]"})
    result = r.json()


html에 아이콘 넣기 
오늘 알게된 tips
파이참 프리퍼런스 세팅창 단축키 Ctrl + Att + S


정적 웹페이지와 동적 웹페이지
Client-side rendering (CSR) : 자바스크립트에 데이터를 포함해서 보낸 후, 클라이언트 쪽에서 HTML을 완성하는 방법
Server-side rendering (SSR): 서버 쪽에서 템플릿 HTML에 데이터를 끼워넣어 완성된 형태의 HTML을 보내주는 방법


Jinja2 템플릿
언어(language) 추가
전역변수처럼 {{ }}를 사용하여 변수 호출
https://fontawesome.com/v4.7/

Server side rendering을 통해 서버쪽에서 바로 html을 쏴주기 때문에 새로고침해도 ajax에서 하던것처럼 기틀 html이 보이지않는다


Jinja if문에서 그냥 선언만 했을경우는 그 값이 None이아닌 어떤 값이라도 들어있으면 참이라고 인식한다
다음 두 개 문장은 같은 역할을 한다고 볼 수 있다.

{% if result.pronunciation != None %}
{% if result.pronunciation %}