截图: 总的意思就是说:你定义了蓝图对象main,但是蓝图里面你还设置了name=name,你实际的文件名也跟着改变了: returnredirct(url_for("蓝图对象里设置的name","函数名")) 所以看上面我的报错问题: werkzeug.routing.BuildError: Couldnotbuild urlforendpoint'index.index'. Did you mean'auth.index'instead? 再...
* 如果加载静态文件的时候,指定了蓝图名字,比如url_for('userss.static'),那么就会到这个蓝图指定的静态文件中查找 四、url_for反转蓝图中的视图函数url: * 如果使用蓝图,那么以后想要反转蓝图中的视图函数为url,那么就应该在使用url_for的时候指定这个蓝图。比如'news.news_list'。否则久找不到这个endpoint。...
用url_for生成蓝图的url,使用的格式是:蓝图名称+.+视图函数名称。比如要获取admin这个蓝图下的index视图函数的url,应该采用以下方式: url_for('admin.index') 1. 其中这个蓝图名称是在创建蓝图的时候,传入的第一个参数。bp = Blueprint('admin',__name__,url_prefix='/admin',template_folder='templates') ...
以一个 URL 前缀和/或子域在一个应用上注册蓝图。 URL 前缀/子域名中的参数即成为这个蓝图下的所有视图函数的共同的视图参数(默认情况下)。 在一个应用中用不同的 URL 规则多次注册一个蓝图。 通过蓝图提供模板过滤器、静态文件、模板和其它功能。一个蓝图不一定要实现应用或视图函数。 初始化一个 Flask 扩展时...
蓝图的国际化:蓝图可以支持多语言国际化。可以使用Flask-Babel插件来实现国际化。 蓝图的版本控制:可以为蓝图定义版本控制规则,以便在不同版本之间进行切换。可以使用Flask的url_for()函数和蓝图对象的name属性来生成不同版本的URL。 蓝图的跨域请求:可以为蓝图定义跨域请求规则,以便支持跨域请求。可以使用Flask-CORS插件...
url_for('users.home')# /users/home 注册蓝图中的静态文件的相关路由 和应用对象不同,蓝图对象创建时不会默认注册静态目录的路由。需要我们在 创建时指定 static_folder 参数。 下面的示例将蓝图所在目录下的static_users目录设置为静态目录 # users/__init__.py,代码:user_blu=Blueprint("users",__name__...
从上面我们可以看出,所有的路由都是以user_url_slug开头的,若这样写代码的话,会增加代码的复杂性、降低可维护性。为了解决这个问题,我们可以在蓝图中定义动态的URL前缀。让我们把蓝图定义改成这样: pythonprofile = Blueprint('profile', __name__, url_prefix='/<user_url_slug>') ...
蓝图的add_url_rule 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. ...
蓝图(Blueprint) 是 Flask 程序的模块化处理机制 它是一个存储视图方法的集合 Flask 程序通过 Blueprint 来组织 URL 以及处理请求 Blueprint 具有以下属性 一个项目可以具有多个 Blueprint Blueprint 可以单独拥有自己的模板、静态文件的目录 在应用初始化时,注册需要使用的 Blueprint ...
解决方法:确保在调用url_for方法时传入正确的变量值。 问题:在调用url_for方法时使用了错误的路由名称。 解决方法:检查路由名称是否正确,确保与定义路由时使用的名称一致。 问题:在使用蓝图时,忘记在调用url_for方法时指定蓝图名称。 解决方法:在调用url_for方法时指定蓝图名称。