我想实现简单的网站布局:
home.html
必须呈现/one
/two
,/three
,one.html
必须相应地呈现two.html
,three.html
,main_page = Blueprint('main', __name__)
category_page = Blueprint('category', __name__)
@main_page.route("/")
def home():
return render_template('home.html')
@category_page.route('/<category>')
def show(category):
return render_template('{}.html'.format(category))
app = Flask(__name__)
app.register_blueprint(main_page, url_prefix='/')
app.register_blueprint(category_page, url_prefix='/categories')
到目前为止,我想出了以下代码:
categories
通过这种方式,我可以将/categories/<category>
路由到/<category>
。如何将home.html
与/
相关联,同时将其定位到url_prefix='/'
?感谢您的帮助
我尝试了两种方法:
为两个蓝图设置main_page
=&gt;第二个不起作用。
而不是app.route('/')
蓝图只使用home.html
来呈现category_page
。与{{1}}蓝图
答案 0 :(得分:5)
您可以将变量移动到注册语句中的url_prefix
参数:
@main_page.route("/")
def home():
return render_template('home.html')
app.register_blueprint(main_page, url_prefix='/')
@category_page.route('/')
def show(category):
return render_template('{}.html'.format(category))
app.register_blueprint(category_page, url_prefix='/<category>')
(这取决于整个模式的复杂性,但最好是使用接近每个函数的变量来保持注册语句以处理许多视图。)