在我非常简单的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.
答案 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。