【发布时间】:2017-05-26 08:56:11
【问题描述】:
我正在尝试采用模块化方法来设计我的 Flask 应用程序。
所以每个模块都是多条路线。见下文
模板文件夹
我的 home_routes.py 的内容
from flask import Blueprint, request, session, abort
from flask import render_template
def home_blueprints(app):
home_routes = Blueprint("home_routes", __name__, template_folder='../../templates', static_folder='../../static')
@home_routes.route('/home/Links')
def links():
return render_template('links.html')
@home_routes.route('/home/Confirmation')
def confirmation():
return render_template('Confirmation.html')
@home_routes.route('/')
def main():
return render_template('main.html')
@home_routes.route('/home/Contactus', methods=['GET', 'POST'])
def contact():
if request.method == "POST":
token = session.pop('_csrf_token', None)
if not token or token != request.form.get('_csrf_token'):
abort(403)
return render_template('GoogleForm.html')
app.register_blueprint(home_routes)
believe_routes.py 的内容
from flask import Blueprint
from flask import render_template
def believe_blueprints(app):
believe_routes = Blueprint("believe_routes", __name__, template_folder='../../templates', static_folder='../../static')
@believe_routes.route('/home/Believe/Truth_About_God')
def truth_about_God():
return render_template('The_Truth_Concerning_God.html')
@believe_routes.route('/home/Believe/Truth_We_Believe')
def the_truth_we_beleive():
return render_template('The_Truth_We_Believe.html')
@believe_routes.route('/home/Believe/Truth_About_Christ')
def truth_about_christ():
return render_template('The_Truth_About_Christ.html')
@believe_routes.route('/home/Believe/Truth_About_Church')
def truth_about_church():
return render_template('The_Truth_About_Church.html')
@believe_routes.route('/home/Believe/Truth_About_Salvation')
def truth_about_salvation():
return render_template('The_Truth_About_Salvation.html')
@believe_routes.route('/Believe')
def truth_we_believe():
return render_template('Truth_We_Believe.html')
app.register_blueprint(believe_routes)
init.py的内容
from home_routes import home_blueprints
from believe_routes import believe_blueprints
def configure_blueprints(app):
home_blueprints(app)
believe_blueprints(app)
只有 home_routes 有效。相信路由中的 URL 不起作用。我得到一个 404
INFO 2017-05-26 18:01:44,325 module.py:813] default: "GET /home/Believe/Truth_About_Christ HTTP/1.1" 404 233
我从 create_app 调用 configure_blueprints(app),然后从 main.py 调用它。
请有任何想法。
【问题讨论】:
-
可以分享一下你的模板文件夹截图吗?
-
已添加模板文件夹的屏幕截图。
-
谢谢。实际上,我的最终设置是正确的。我无法弄清楚到底是什么导致了这个错误。