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>
如同一个蓝图类/blueprints/news.py中:
from flask import Blueprint,render_template,url_for
news_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 '新闻详情页面'