>백엔드 개발 >파이썬 튜토리얼 >Jinja2의 `url_for()` 함수 내에서 템플릿 변수를 올바르게 참조하는 방법은 무엇입니까?

Jinja2의 `url_for()` 함수 내에서 템플릿 변수를 올바르게 참조하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-19 16:10:12388검색

How to Correctly Reference Template Variables within Jinja2's `url_for()` Function?

Jinja 표현식 내에서 템플릿 변수 참조

문제

다음 Jinja2 템플릿 조각을 고려하세요.

<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>

이 코드 정의된 경로에 대한 URL을 생성하려고 시도합니다. as:

@app.route('/magic/<filename>')
def moremagic(filename):
    pass

그러나 템플릿 스니펫에서 생성된 URL은 url_for() 함수 내에서 {{ filename }} 변수가 제대로 참조되지 않았기 때문에 올바르지 않습니다.

해결책

이 문제를 해결하려면 url_for() 함수 내 추가 중괄호 세트를 제거해야 합니다. 이는 Jinja2의 {{ ... }} 내의 모든 내용이 Python과 유사한 표현식이므로 변수를 참조하기 위해 또 다른 {{ ... }}를 사용할 필요가 없기 때문입니다.

수정된 코드는 다음과 같습니다.

<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>

여기서 name 변수는 url_for() 함수에 인수로 전달되고 URL 대신 엔드포인트 이름 moremagic이 사용됩니다. 경로입니다.

위 내용은 Jinja2의 `url_for()` 함수 내에서 템플릿 변수를 올바르게 참조하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.