我正在尝试使用Flask Blueprint从其他文件制作路线。这是我的“catalog.py文件:
from flask import Blueprint, make_response, render_template
from models.catalog import Catalog
catalog_url = Blueprint('catalog_url', __name__)
@catalog_url.route("/")
@catalog_url.route("/catalog")
def show_all_catalogs():
try:
catalogs = Catalog.find_all_catalogs()
return render_template('publiccatalogs.html', catalogs=catalogs)
except:
return {'message': 'Internal Server Error'}, 500
这是我的“app.py”文件:
from catalog import catalog_url
app = Flask(__name__)
app.register_blueprint(catalog_url)
但是当我输入“localhost:5000 / catalog”时,它会返回以下错误:
TypeError: 'dict' object is not callable
我尝试返回纯文本甚至JSON,他们工作得很好。但是当我尝试使用“render_template”时,我不断得到同样的错误。
答案 0 :(得分:0)
有try except
,您的代码return render_template('publiccatalogs.html', catalogs=catalogs)
是正确的。但是,我怀疑无法找到html模板,然后发生此异常,除了return {'message': 'Internal Server Error'}, 500
此部分格式不正确之外。
在Flask中,视图必须返回以下内容之一: