我搜索了所有可以在SO上找到的内容,包括flask blueprint template folder。
/root
__init__.py
run.py
/hrms
__init__.py
views.py
models.py
/static
/templates
__init__.py
layout.html
/hr
__init__.py
hr_template_test.html
我也尝试过:
/hrms
__init__.py
views.py
models.py
/templates
__init__.py
hr_template_test.html
无论我把hr_template_test.html
文件放在哪里,Flask都找不到它。以下是__init__.py
中的内容:
from flask import Blueprint, render_template
hrms_blue = Blueprint('hrms', __name__, template_folder='templates')
@hrms_blue.route('/')
def index():
return render_template('hrms_data_view.html')
在run.py
:
from flask import Flask
from flask_debugtoolbar import DebugToolbarExtension
from application.views.hrms import hrms_blue
app = Flask(__name__)
app.register_blueprint(hrms_blue, url_prefix='/<hrms_id>')
我试过了:
return render_template('hr/hrms_data_view.html')
return render_template('application/templates/hr/hrms_data_view.html')
return render_template('templates/hr/hrms_data_view.html')
return render_template('hrms_data_view.html')
http://127.0.0.1/hrms
并且Jinja2抱怨它无法找到html文件。
我从模板和hr中取出了__init__.py
。不,我得到,TypeError: index() takes no arguments (1 given)
。
答案 0 :(得分:0)
您可能遇到循环导入问题。 你应该尝试:
def register(app):
from __init__ import hrms_blue
app.register_blueprint(hrms_blue)
register(app)
而不是:
app.register_blueprint(hrms_blue, url_prefix='/<hrms_id>')