如何使“ render_template”起作用?

时间:2019-09-26 15:35:33

标签: python flask visual-studio-code

在我非常简单的Flask应用程序中,“ rendare_template”无法正常工作。我需要设置,编码或从代码中删除什么?

main.py

import requests
from flask import (Blueprint, render_template, abort)
from flask import Flask
from jinja2 import TemplateNotFound
from flask import Flask
import simple_page
from simple_page import simple_page

app = Flask(__name__)
app.register_blueprint(simple_page)


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

simple_page.py

from flask import Blueprint, render_template, abort
from jinja2 import TemplateNotFound

simple_page = Blueprint('simple_page', __name__, template_folder='templates')

@simple_page.route('/', defaults={'page': 'index'})
@simple_page.route('/<page>')
def show(page):
    try:
        return render_template('pages/%s.html' % page)
    except TemplateNotFound:
        abort(404)

运行代码时,我得到:

Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

1 个答案:

答案 0 :(得分:1)

  

Flask将在templates文件夹中查找模板。

...
return render_template('pages/%s.html' % page)

您应该在pages文件夹中创建一个templates文件夹,然后将模板移到那里。

因此,当您访问http://127.0.0.1:5000/index时,您的代码将在index.html内查找templates/pages

有关更多信息,请参见this