构建URL的方法”url_for()”。其第一个参数我们称为端点(Endpoint),一般指向视图函数名或资源名。蓝图的端点名称都要加上蓝图名为前缀,创建Blueprint对象时的第一个参数是蓝图名字,当我们通过端点名称来获取URL时,我们要这样做: fromflaskimporturl_for url_for('admin.index')#return /admin/url_for('admin.s...
app.register_blueprint(blog,url_prefix='/blog') if__name__=='__main__': app.run(debug=True) app.register_blueprint(auth, url_prefix='/auth'):注册auth蓝图,并将所有的路由前缀设置为/auth。 app.register_blueprint(blog, url_prefix='/blog'):注册blog蓝图,并将所有的路由前缀设置为/blog。
print(url_for('.fun'))#/prefix1/blue1return"this is blueprint1" blu2.py fromflask import Flask, url_for, render_template, Blueprint, redirect blue2=Blueprint("blue2",__name__) @blue2.route("/blue2") def fun(): print(url_for('.fun'))#/prefix2/blue2return"this is blueprint...
确认蓝图是否正确注册到应用程序中,可以通过app.register_blueprint(blueprint)来注册蓝图。 检查视图函数名称是否正确,可以使用@blueprint.route('/url')来定义视图函数。 使用正确的蓝图命名空间生成URL,例如:url_for('blueprint_name.view_function_name')。 在生成URL时包含蓝图的URL前缀,例如:url_for('blue...
这时候我们就需要url_for函数了。 # coding: utf-8 from flask import Flask, url_for import ...
url_for是通过endpoint查询url地址,然后找视图函数 最后 根据个人的理解来说一下蓝图的运行机制: 我们在创建蓝图对象的时候只是创建了一个空的列表,叫做 延迟操作记录列表 ,里边包含了路由的创建函数add_url_rule().接受的参数是应用对象app。当执行应用对象的** register_blueprint() **方法时,应用对象将从蓝图对...
admin=Blueprint('admin',__name__) AI代码助手复制代码 2,在这个蓝图对象上进行操作,注册路由,指定静态文件夹,注册模版过滤器 @admin.route('/')defadmin_home():return'admin_home' AI代码助手复制代码 3,在应用对象上注册这个蓝图对象 app.register_blueprint(admin,url\_prefix='/admin') ...
defadd_url_rule(self,rule,endpoint=None,view_func=None,**options):"""Like :meth:`Flask.add_url_rule` but for a blueprint. The endpoint for the :func:`url_for` function is prefixed with the name of the blueprint. """ifendpoint:assert'.'notinendpoint,"Blueprint endpoint's should ...
153. from blue_11 import views # 导入定义的蓝图视图 154. appFlask(__name__, template_folder="apptmp") # 指定tmp路径 155. 156. app.register_blueprint(views.app, url_prefix='/blue') # 注册蓝图, url前缀在视图里面和这里写一个即可 ...
在蓝本中就不一样了,Flask 会为蓝本中的全部端点加上一个命名空间,这样就可以在不同的蓝本中使用相同的端点名定义视图函数,而不会产生冲突。命名空间就是蓝本的名字(Blueprint 构造函数的第一个参数),所以视图函数index() 注册的端点名是main.index,其URL 使用url_for(‘main.index’) 获取。