인프런 커뮤니티 질문&답변

oleole님의 프로필 이미지
oleole

작성한 질문수

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI)

FastAPI Tutorial : Jinja 템플릿 엔진

jinja2 error

작성

·

1.8K

0

jinja2를 install 하기 전까지는 잘 시행되나 jinja2를 install 하고 강사님의 가이드를 따라서 코드를 수정하고 server를 실해했을 때 아래와 같은 에러가 뜹니다.

AttributeError: module 'jinja2' has no attribute 'contextfunction' 

구글에 찾아보면 contextfunction는 dependency 문제라고 나오는데 install한 jinja의 버젼때문에 생긴 에러일까요? 그렇다면, 강사님의 jinja2 버젼을 알 수 있을까요?

앞으로도 jinja2가 계속 update 될텐데 해당 문제를 version을 downgrade하지 않고 해결하는 방법은 무엇인지 궁금합니다.

 

감사합니다~!

답변 2

0

다음과 같이  패키지 3.0 버전으로 재설치니  잘 실행됐습니다.

pip uninstall jinja2

pip install jinja2==3.0

참고 자료 :

https://github.com/wookayin/gpustat-web/issues/18

전체 코드 다음과 같이 하니 뷰포트에 결과가 잘 나옵니다.

from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.templating import Jinja2Templates

app = FastAPI()
 
# html template 파일 위치
templates = Jinja2Templates(directory="./templates")

@app.get("/items/{id}", response_class=HTMLResponse)
async def read_item(request: Request, id: int):
    return templates.TemplateResponse("index.html", {"request": request, "id": id})

 

0

저도 동일한 에러가 발생했습니다. 환경은 다음과 같습니다.

win10

python3.8 

oleole님의 프로필 이미지
oleole

작성한 질문수

질문하기