'__name__' 과 '__main__'
__name__은 특수변수로 코드(스크립트)파일이 단독으로 실행되거나 프로그램의 시작점으로 실행되는 경우에는 '__main__' 문자열을 저장하며, 모듈로 실행될 때에는 '.py'를 제외한 파일 이름이 저장된다.
if __name__ == '__main__':
메인일 때만 실행할 코드.....
프로그램을 시작할 때 '__name__'의 값을 확인함을써 모듈인지 메인인지를 구별하고, 메인일 때만 실행해야 하는 코드의 실행을 막는다.
메인일 때, 서버로서 사용
모듈일 때, 서버로 가동시키지 않기 위해서
name_ex.py의 __name__ : name_ex
Flask 모듈
마이크로 웹 프레임워크
파이썬으로 웹 서버를 구축할 수 있는 라이브러리
설치
> pip install Flask
+ 파이썬 파일 만들 때
flask 파일 만들면 충돌이 일어나기 때문에 py파일 만들 때 flask 명 쓰지 말기!
터미널에서 서버 종료 시키기(서버 종료가 안 되면 변경처리가 안됨)
Press CTRL+C to quit
개발 시에는 debug=True 모드로 바꿔서 사용
http://127.0.0.1:5000/
대소문자 구분하기
from flask import Flask
1) flask 객체 생성
식별자 = Flask(__name__)
__name__의 값을 전달하여 flask 인스턴스를 생성
2) flask 실행
식별자.run()
run() 메서드 옵션>
- debug=True : 개발 시에 설정, 코드가 변경되면 자동으로 flask 재시작
- port=번호 : 포트번호 변경, 기본 포트번호 5000
3) url 매핑 : @app.route('/url', methods=['GET'])
get방식 : methods=['GET']
post방식 : methods=['POST']
4) url을 통한 데이터 전송
@app.route('/url/<data1>/<data2>')
def method(data1, data2)
숫자 유형의 데이터
@app.route('/url/<int:data>')
def method(data)
5) render_template('html파일')
templates 폴더 - html 파일 존재
from flask import Flask, render_template # Flask 클래스 가져오기
# Flask 객체 생성
app = Flask(__name__)
# url 매핑
@app.route("/") # get/postmapping과 비슷
def home():
return '''
<h1>hello flask</h1>
<p>안녕하세요</p>
<p><a href="second/abc">다음</a>
<a href='third'>세번째</a>
</p>
'''
@app.route("/second/<data>")
def second(data):
return f'<h1>두번째 페이지</h1><p>{data}</p>'
@app.route("/third")
def third():
m = 'hi'
return render_template("third.html", msg=m)
if __name__ == '__main__':
app.run(debug=True, port=8080)
'공부기록 > Python' 카테고리의 다른 글
6월 15일 python - GUI(tkinker) (0) | 2023.06.15 |
---|---|
6월 15일 python - Web2 (0) | 2023.06.15 |
6월 14일 (1) python - 예외처리, 패키지 (0) | 2023.06.14 |
6월 13일 python - 클래스 (0) | 2023.06.13 |
6월 12일 (2) python - 모듈 (0) | 2023.06.12 |