hy30nq's blog

Flask URL 빌더와 url_for() 함수 사용법 본문

Web/web dev

Flask URL 빌더와 url_for() 함수 사용법

hy30nq 2024. 6. 14. 22:01
728x90

안녕하세요! 오늘은 Flask의 URL 빌더인 url_for() 함수에 대해 알아볼게요. Flask는 파이썬으로 웹 애플리케이션을 쉽게 만들 수 있게 도와주는 프레임워크랍니다. 그 중에서도 url_for() 함수는 URL을 동적으로 생성하는 데 유용하게 사용돼요. 함께 자세히 살펴볼까요?

1. 기본적인 url_for() 사용법

url_for() 함수는 뷰 함수의 이름을 기반으로 해당 뷰 함수에 매핑된 URL을 반환해줘요. 예를 들어, 아래 코드를 보세요.

from flask import Flask, url_for

app = Flask(__name__)

@app.route('/user/<username>')
def show_user_profile(username):
    return f'User {username}'

@app.route('/post/<year>/<month>/<day>')
def show_post(year, month, day):
    return f'Post for {year}{month}{day}'

@app.route('/')
def index():
    user_url = url_for('show_user_profile', username='techq')
    post_url = url_for('show_post', year='2024', month='4', day='30')

    return f'User URL : {user_url}<br>Post URL : {post_url}'

위 코드에서 url_for('show_user_profile', username='techq')/user/techq URL을 생성해요. 마찬가지로, url_for('show_post', year='2024', month='4', day='30')/post/2024/4/30 URL을 생성하죠.

2. 정적 파일 URL 생성

Flask에서는 static 폴더 내의 파일들을 정적 파일로 서비스해요. 이를 통해 CSS, JS 파일이나 이미지를 쉽게 불러올 수 있답니다. 예를 들어, css/style.css 파일의 URL을 생성하려면 아래처럼 하면 돼요.

css_url = url_for('static', filename='css/style.css')

이렇게 하면 static/css/style.css 경로에 있는 CSS 파일에 대한 URL을 생성할 수 있어요.

3. 외부 링크 생성

외부 링크를 생성할 때는 _scheme_external 매개변수를 사용해요. _scheme는 URL에 사용될 프로토콜을 지정하고, _external=True는 절대 경로 URL을 생성해요. 예를 들어볼게요.

external_url = url_for('show_user_profile', username='techq', _scheme='https', _external=True)

이렇게 하면 https://로 시작하는 절대 경로 URL이 생성된답니다. 아주 편리하죠?

마무리

오늘은 Flask의 URL 빌더와 url_for() 함수에 대해 알아봤어요. 동적인 URL 생성부터 정적 파일 URL 생성, 그리고 외부 링크 생성까지 다양한 방법을 소개해드렸는데요. 도움이 되셨길 바라요! 더 궁금한 점이 있으면 언제든지 질문해 주세요.😊

728x90