Flask框架之url_for反转蓝图

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 '新闻详情页面'
    
发布了354 篇原创文章 · 获赞 4 · 访问量 7833

猜你喜欢

转载自blog.csdn.net/weixin_44733660/article/details/103963347