2017-02-26 1 views
2

파이썬 코드가 아닙니다 :jinja2 템플릿을 발견하고 내부 서버 오류

from flask import Flask, render_template 

app = Flask(__name__) 

@app.route("/") 

def hello(): 

    return render_template('testing.html') 

if __name__ == "__main__": 
    app.run() 

HTML 파일 : pycharm 커뮤니티 버전 jinja2을 사용하도록 설정하는 방법 또한

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 
</head> 
<body> 
<h1>My name is pk</h1> 
</body> 
</html> 

합니다. 내가 직접 당신이 이미 플라스크 패키지를 다운로드 한 경우

또한
|-app 
|--templates // where your html files must be in 
|--static // where your js and css files must be in 
|--.py files 
|--other packages 

신사는, 시스템에 설정되어 같은 프로젝트

+0

전체 오류와 파일 및 디렉토리 구조를 표시 할 수 있습니까? – coralvanda

+0

'testing.html'파일이 templates 폴더에 있는지 확인하십시오. 앱 구조를 보여줄 수 있다면 더 좋습니다. – thangtn

+0

@coralvanda 아래에 언급 된 전략을 사용하여 솔루션을 얻었습니다. 고마워, 내 질문에 계속 대답 해줘. – pk786

답변

2

기본적으로 Flask는 앱의 루트 수준에있는 templates 폴더를 찾습니다.

http://flask.pocoo.org/docs/0.10/api/

template_folder - 응용 프로그램에서 사용되어야하는 템플릿이 들어있는 폴더. 응용 프로그램의 경로 경로에있는 'templates'폴더의 기본값입니다.

app = Flask(__name__, template_folder='template') 
:

그래서 당신은

  1. template 폴더 플라스크 응용 프로그램에 의해 인식해야 할 template_folder PARAM을 제공 templatetemplates에 이름을 몇 가지 옵션이 있습니다

    플라스크 templates 디렉토리는 디렉토리가 생성 된 모듈과 동일한 폴더에 있어야합니다. 대신 다른 곳에서 볼 플라스크를 말할해야합니다 : 경로가 현재 모듈 경로에 상대적으로 해결로이 작동

    app = Flask(__name__, template_folder='../pages/templates') 
    

    합니다.

    blueprints을 사용하지 않고 모듈 별 템플릿 디렉토리를 가질 수 없습니다. 일반적인 패턴은 템플릿을 분할하는 대신 templates 폴더의 하위 디렉터리를 사용하는 것입니다. 등이로드 된 templates/pages/index.html을 사용하십시오.

+0

정말 고마워요. 이것은 나를 도왔다. – pk786

2

플라스크 파일 구조에 HTML 파일 및 평 파일을 생성하고있다.

+0

감사합니다. 파일 구조에 문제가 있는지 확인했습니다. 이제 완벽하게 작동합니다. – pk786