url_for反转蓝图注意事项
6. url_for反转蓝图中的视图函数为url:
如果使用蓝图,那么以后想要反转蓝图中的视图函数为url,那么就应该在使用url_for的时候指定这个蓝图名字。 app类中、模版中、同一个蓝图类中都是如此。否则就找不到这个endpoint。
如app类 blueprint_demo.py中:
#如下写法:才找得到 url_for('蓝图名称.方法名')print(url_for('news.news_list'))#/news/list/
如模版/templates/index.html中:
<a href="{
{ url_for('news.news_list')}}">新闻列表 OK写法</a>{# <a href="{
{ url_for('news_list')}}">新闻列表 no Ok写法</a>#}
如同一个蓝图类/blueprints/news.py中:
from flask import Blueprint,render_template,url_fornews_bp = Blueprint('news',__name__,url_prefix='/news',template_folder='news_page',static_folder='news_page_static')@news_bp.route('/list/')def news_list():print(url_for('news.news_detail')) #/news/detail/return render_template('news_list.html')@news_bp.route('/detail/')def news_detail():return '新闻