[Python] 기상어플 만들기 요약 정리
부트 캠프에서 데이터 엔지니어 수업을 들었을 때는, 잘 자른 타일을 하나씩 익히는 느낌이었습니다. 타일을 들고 살펴 보면서 '그래서 이걸 어디다 쓴다는 거지?' 라고 고민했습니다.
반면 이 유튜브는 그 타일을 여러 개 붙여서 만든 전체적인 그림을 먼저 보여주는 느낌입니다. 떨어져서 놓인 자석들이 하나만 가까워져도 차르르 다 같이 붙어버리는 것처럼 앞서 배운 지식들이 착착 붙는 경험을 했습니다.
MBTI 검사를 하면 S와 N이 번갈아 나오는데, 공부를 하면서 확신의 N이 되었습니다. 숲을 먼저 봐야 나무가 이해되는 종족.
공부한 것들을 그냥 두고 지나가기 아까워 기록합니다.
단계에 대한 간략한 설명을 할 것입니다.
1. 플라스크 앱 만들기
# __init__.py
from flask import Flask
app = Flask(__name__)
시작은 늘 그렇듯 앱 부터 만들기
2. html 연결
import requests
from flask import Flask, render_template
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return render_template('weather.html')
콘솔
install request
export FLASK_APP = app.py
flask run
3. config
import requests
from flask import Flask, render_template
from flask import Flask
app = Flask(__name__)
app.config['DEBUG'] = True
4. API 연결
url = f'http://api.openweathermap.org/data/2.5/weather?q={ city }&units=metric&appid={ api 번호 }'
city = seoul
r = requests.get(url.format(city)).json()
print(r)
api json 추출
weather = {
'city' : city,
'temperature' : r['main']['temp'],
'description' : r['weather'][0]['description'],
'icon' : ,
}
...
return render_template('weather.html', weather = weather)
5. db연결
app.config['SQALCHEMY_DATABASE_URI'] ='sqlite:///weather.db'
...
db = SQAlchemy(app)
class City(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.string(50), nullabe = True)
console
sqlite3 weather.db
.table
.exit
python
from app import db
db.create_all()
from app import db
from app import City
seattle = City(name='Seattel')
london = City(name = 'London')
db.session.add_all([seattle, london])
db.session.commit()
exit()
sqlite3 weather.db
select * form city;
6.city입력하도록 하기
cities = City.query.all()
for city in cities:
r= requests.get(url.format(city.name)).json()
html에
{% for weather in weather_data %} 추가
html
<input class="input" name="city" type="text" placeholder="City Name">
의 button에 넣는다.
if request.method == 'post':
new_city = request.form.get('city')
if new_city:
new_city_obj = City(name=new_city)
db.session.add(new_city_obj)
db.session.commit()
Author And Source
이 문제에 관하여([Python] 기상어플 만들기 요약 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@superahxd/Python-기상어플-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)