>

TIL

1주차 Day2. Fetch, Python, Flask, template

ekdud 2024. 6. 25. 20:01

목차

    Fetch

    fetch(" URL ")   // URL로 웹 통신 요청을 보낸다. URL만 쓴 경우 기본적으로 GET.

    .then()  // 응답을 받고나서 취할 동작

    .then(res => res.json()) // 통신 요청을 받은 데이터는 res라는 이름으로 JSON화 한다.

    .then(data ⇒ {   }) // JSON 형태로 바뀐 데이터를 data라는 이름으로 사용.

     

    let rows = data["RealtimeCityAir"]['row']
      rows.forEach(row => {
        let gu_name = row['MSRSTE_NM']
        let gu_mise = row['IDEX_MVL']
        console.log(gu_name, gu_mise)
      });     //forEach문(반복)을 사용해 구 이름과 미세먼지 수치 데이터를 뽑아 console에서 확인

     

    #데일리모토 날씨정보 Fetch 실습

     

     


    Python 기초문법

     

    - 조건문

    if 조건1:
        # 조건1이 참일 때 실행할 코드
    elif 조건2:
        # 조건1이 거짓이고 조건2가 참일 때 실행할 코드
    elif 조건3:
        # 조건1과 조건2가 모두 거짓이고 조건3이 참일 때 실행할 코드
    else:
        # 위의 모든 조건이 거짓일 때 실행할 코드

     

    - 반복문

    fruits = ['사과','배','감','귤'] # fruits라는 과일 값이 담긴 리스트
    
    # fruits라는 리스트의 요소를 돌아가면서 반복하기
    # 그 요소 중 하나를 fruit라고 하면 fruit는 순서대로 사과/배/감/귤이 된다.
    for fruit in fruits:
    	print(fruit)
    
    # 사과, 배, 감, 귤 하나씩 출력된다.

     

    - 함수

    : def 함수명(parameter):  형식으로 쓴다.

     

     

    파이썬 가상 환경 생성하기

    가상 환경(virtual environment):  같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경. 

    1) 명령 팔레트 실행하기 ctrl + Shift + p
    2) 명령 팔레트에서 env 검색, Python : Create Environment 클릭
    3) Venu 클릭
    4) 활성화 되었는지 확인.

     

    • 터미널이 열린 상태에서 오른쪽의 + 모양 버튼 클릭 (열리지 않았다면 상단 도구 터미널 → 새 터미널 클릭)

    • 클릭했을 때, 생성한 (.venv) 폴더가 터미널의 새 줄 앞에 적혀있다면 가상 환경 활성화 성공!

    • 터미널에서 python app.py라고 적고 Enter.  Running on all addresses ... Press CRTL+C to quit 과 같은 문구가 뜨면 잘 작동한 것.

     

    Flask

    • Flask 프레임워크: 서버를 구동시켜주는 편한 코드 모음.
    • 웹 서버를 구동하는데 필요한 복잡한 코드들을 쉽게 가져다 쓸 수 있다.

    - 기본 구조

    from flask import Flask
    app = Flask(__name__)

    @app.route('/')
    def home():
        return 'This is Home!'

    if __name__ == '__main__':  
        app.run(debug=True)

     

     

    - templates폴더 → HTML 파일을 담아둔다. 다른 python파일에서 불러와 사용.

    *render_template : HTML파일을 불러오는 내장함수.

    *여러개의 데이터를 넘겨주고 싶은 경우, context 딕셔너리에 원하는 데이터를 넣어 사용.

     

    from flask import Flask, render_template
    app = Flask(__name__)
    
    ## URL 별로 함수명이 같거나,
    ## route('/') 등의 주소가 같으면 안됩니다.
    
    @app.route('/')
    def home():
    	변수명1 = 'OOO'
        변수명2 = [ 내용 ]
    	context = {
    		"HTML에서 사용할 이름": 변수명1,
    		"HTML에서 사용할 이름": 변수명2,
    	}
       return render_template('index.html', data=context)
    
    @app.route('/mypage')
    def mypage():
    	return 'This is My page!'
    
    if __name__ == "__main__":
        app.run(debug=True)

     

     

    - HTML에서 반복문 사용하기

    <body>
        <h1>안녕, {{ data.name }}</h1>
        <h2>로또 번호: {{ data.lotto }}</h2>
        <ol>
        {% for number in data.lotto %}         => ffor + enter(또는 tab) 으로 자동완성
                {{ number }}
        {% endfor %}
        </ol>

    </body>

     

    * ol 태그 사용 시 숫자나 알파벳 같은 마커로 순서 표시.