엄청 과거 이야기/Flask

Flask #5 __name__ , route() 초초초초간단설명

반응형
from flask import Flask, render_template
app = Flask(__name__)

@app.route("/")
def home:
 return render_templates('index.html')

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




자 이 소스를 바탕으로 설명을 진행하겟습니다.

app 에다가 Flask(__name__) 을 저장하였죠 ?

여기서 Flask(__name__) 은 context 라고 생각하시면 될겁니다.


더 자세한 설명은 API문서 를 확인해 주세요


 




1. __name__ <<요놈은 무엇인가요?


이 것은 현재 모듈의 이름을 담고있는 내장 변수라고 할 수 있습니다.

그래서

if __name__ == '__main__':
 app.run()
이 소스는 현재 모듈이 메인일때 실행하라 라는 의미를 담고 있는것이죠.


2. route() 이건 뭐요!


일반적으로 라우팅 시스템에 대한 규칙을 정의하는 세 가지 방법이 있습니다.

flask.Flask.route()
flask.add_url_rule()
flask.Flask.url_map()

우리는 첫번째를 사용하는 것이죠.

() 안에는 여태 보았듯이 ("/") 이런식으로 경로를 적을 수 있습니다.


("/") 라고 했을시

localhost:5000/

("/home") 라고 했을시

localhost:5000/home


3. 경로를 이용하여 값을 바꾸고싶다??


경로에 있는 내용을 변수로 하고싶다면 <>괄호를 이용하시면 됩니다.


@app.route("/")
def home(name = None):
 return render_template('index.html', name=name)


이런식으로 해 주신다면

localhost:5000/TEST

로 접속을 하면

name에는 TEST가 저장이될 것 이며 index.html의 {{ name }} 부분에는 TEST가 출력이 될 겁니다.



반응형