본문 바로가기
파이썬

[파이썬] 파이썬(flask)기반 웹 프로그래밍 공부하기 3

by 딩박사 2021. 6. 10.
반응형

* 본 포스팅은 한국품질재단 취업지원센터에서 주최하는 혁신성장 청년인재 집중 양성사업(인공지능)에서 학습한 내용을 포스팅합니다.


https://kks2140501.tistory.com/5

 

[파이썬] 파이썬(flask)기반 웹 프로그래밍 공부하기 2

* 본 포스팅은 한국품질재단 취업지원센터에서 주최하는 혁신성장 청년인재 집중 양성사업(인공지능)에서 학습한 내용을 포스팅합니다. https://kks2140501.tistory.com/4 [파이썬] 파이썬(flask)기반 웹프

kks2140501.tistory.com

※ 심화 과정에 대한 포스팅

 


상황) 클라이언트가 서버 측에 페이지를 요청할 때, 데이터를 전달하고 싶다

        ex) 로그인, 검색, 게시판 글 상세보기, 게시판 페이지 이동

 

 

 

 - method(메소드) 방식 > GET

    - 데이터를 전달하지 않아도, 일반적인 모든 페이지는 GET방식으로 페이지를 요청한다

    - 아무런 표시가 없다면 모두 GET방식이다

        - 다른 방식으로 (POST, PUT, HEAD, DELETE, ...) 사용한다면 무조건, 명시적으로 표시

    - 형식

        - 주소(URL)뒤에 ?키=값&키=값 : 주소 형식 (모든 웹프로그램 공통)

 

 

 

 

1. 모듈 가져오기, 앱 생성, 라우팅, 웹서비스 제공 서버 가동

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():     
    return '<h1>홈페이지</h1>'
    
if __name__ == '__main__':
    app.run( debug=True )

 

 

- 클라이언트가 보낸 데이터에 따라 다른 결과

# ~/login
# 데이터 전달
# ~/login?uid=guest&name=게스트
@app.route('/login')
def login():     
    # step 1 : 클라이언트가 보낸 데이터를 추출
    uid = request.args.get('uid')
    name = request.args.get('name')
    print( uid, name )
    # 만약 클라이언트가 데이터를 안보냈다 -> 값 검사 -> 두개중에 한개라도, 값이 없다면
    # if (uid == None) or (name == None): 비정상
    if not uid or not name: # 부정상황을 잡는 조건식
        # return 결과는 창을 통해서 확인가능
        return ''' 
            <script>
                alert("아이디나 이름이 누락되었습니다.")
            </script>
        '''
    else: # 정상
        return f'<h1>로그인 페이지 {uid} {name}</h1>'

※ 클라이언트가 서버측으로 데이터를 전달할 때 어떤 방식이든 간에 무조건 request 라는 객체를 타고 서버에 전달된다

- 조건문을 사용하여 클라이언트에게 받은 데이터에 따라 다른 결과 전달

 

 

= 실행 후 브라우저에서 'http://127.0.0.1:5000/login'에 접속한 결과

 

= 실행 후 브라우저에서 'http://127.0.0.1:5000/login?uid=guest&name=게스트'에 접속한 결과

 

print( uid, name )

- 코드 가운데 print문이 있는데 이 결과 값은 브라우저가 아닌 터미널에서 확인 가능하다

 

 

= 실행 후 브라우저에서 'http://127.0.0.1:5000/login'에 접속한 터미널 결과

 

 

 

= 실행 후 브라우저에서 'http://127.0.0.1:5000/login?uid=guest&name=게스트'에 접속한 터미널 결과

 

 

 

 

 

반응형

댓글