상세 컨텐츠

본문 제목

[FLASK] 플라스크 기본 라우팅

Python/Flask

by TUZA 2022. 8. 6. 15:40

본문

from flask import Flask

def create_app():
    app = Flask(__name__)

    @app.route('/')
    def hello_flask():
        return "<p>Hello, Flask!</p>"

    
    #Routing practice
    from flask import jsonify,redirect,url_for
    from markupsafe import escape
    @app.route('/test/name/<name>')
    def name(name):
        return f'Name is {name} , {escape(type(name))}'
    @app.route('/test/id/<int:id>')
    def id(id):
        return f'id:{ id }'


    # 경로를 받아줌
    @app.route('/test/path/<path:subpath>')
    def path(subpath):
        return subpath
    
    @app.route('/test/json')
    def json():
        return jsonify({"HELLO":"WORLD"});

    @app.route('/test/redirect/<path:subpath>')
    def redirect_url(subpath):
        return redirect(subpath)


    @app.route('/test/urlfor/<path:subpath>')
    def urlfor(subpath):
        return redirect(url_for('path',subpath=subpath))
    return app

 

*URL_FOR ()

url_for(url에 연결된 함수명, 전달할 인자값)

URL_FOR 함수는 함수값을 인자로 받는다. 그리고 인자값(argument)도 보낼 수 있다. 이때 Flask의 redirect 를 연결해서 사용한다

*전달할 인자값은 생략이 가능하다.

 

  @app.route('/a_page')
    def go_a():
        return "This is a_page"
    @app.route('/b_page/<c_data>')
    def go_b(c_data):
        return "This is b_page with %s" %c_data
    @app.route('/c_page/<c_value>')
    def go_c_date(c_value):
        print(c_value)
        if c_value == 'a':
            return redirect(url_for('go_a'))
        else:
            return redirect(url_for('go_b',c_data = c_value))

☀️ 참고사이트

https://scribblinganything.tistory.com/391

반응형

'Python > Flask' 카테고리의 다른 글

[FLASK] 플라스크 리퀘스트 메소드  (0) 2022.08.06
[FLASK] 플라스크 로컬 서버 실행시키기  (0) 2022.08.06
[FLASK] FLASK  (0) 2022.08.06

관련글 더보기