2017-06-17 10 views
0

Flaskに慣れていて、Pythonで何か経験がある場合、render_templateを使用すると、テンプレートをレンダリングしないだけでなく、エラーを出すこともありません。ここで コード:ここFlask render_template

from flask import Flask, render_template 

app = Flask(__name__, template_folder= "/templates") 




@app.route("/") 
def index(): 
     #return("Index str") 
    return render_template("index.html") 


@app.route("/crawler") 
def crawler(): 
    return("WebCrawler str") 
    return render_template("crawler.html") 

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

は、HTML(かなり特定のファイル階層が正しいです)。デフォルトフラスコtemplatestemplate_folderセットで

<!DOCTYPE html> 

<html lang="en"> 
    <head> 
     <link rel="stylesheet" type="text/css" href="{{url_for('static', filename='style.css')}}"> 
     <meta charset = "utf-8"> 
     <title> Index</title> 
    <head> 
    <body> 
     <p> This webserver hosts all webapps and will showcase any unfinished applications. 
      </p> 

     </body> 

</html> 

root virtual environment

static for css

templates folder

答えて

2

デフォルトのフォルダは、テンプレートで必要なとき。したがって、あなたのpythonファイルが置かれている "templates"というフォルダを作成してください。そのフォルダに任意のHTMLファイルを入れてください

+0

最後のスクリーンショットは、main.pyが置かれているのと同じフォルダ内のtemplatesフォルダを示しています。 – Hobnob

+0

localhostを介してサイトにアクセスしようとしましたか?そうであれば、osをインポートし、このコードを持つ必要があります: 'if __name__ == '__main__': port = int(os.environ.get( 'PORT'、5000)) app.run(host = '0.0。 0.0 '、port = port) ' –

+0

本当に私はそれを考えなかった。 – Hobnob

0

。それを変更したい場合は、アプリケーションのルートパスにフォルダを記述してください。

It'tないtemplatesフォルダが、それはですする必要があります... HTMLファイルの

app = Flask(__name__, template_folder= "templates") 
+0

これはデフォルトで残してみましたが、これはうまくいきませんでした。必要に応じてファイリングのスクリーンショットを表示できましたか? – Hobnob

+0

@Hobnobそれはいいと思います。スクリーンショットを添付して質問を更新してください... –

+0

'app.debug = True'を' app.run() 'ステートメントの上に置くことができます。それはあなたに良いエラーメッセージを与えるでしょう... –

関連する問題