首页 > 解决方案 > Flask - 表单 - 蓝图

问题描述

在最简单的情况下,我会在这样的 html 文件中创建以下表单:

<form action="/do_this" method ="POST">

并且该操作将执行该函数在 app.py 文件中所做的任何事情。

我现在深入蓝图,我只想以像上面这样的简单方式设置表单操作,但我不知道如何引用某个 .py 文件,然后引用其中的函数。

任何指针?

标签: pythonflask

解决方案


你应该使用url_for().
在这种情况下,你会这样做:

  <form action="{{ url_for('your_blueprint.do_this') }}" method="POST">

在蓝图设置中我感兴趣的步骤是此示例中的最后一行:

from flask import Flask
from yourapplication.your_blueprint import your_blueprint

app = Flask(__name__)
app.register_blueprint(your_blueprint) # hook your blueprint to your app

Flask 被指示在哪里可以找到你的蓝图函数。


与这个特定问题无关,但我刚刚了解到的是,如果您处于操作将要执行的蓝图中,您可以在 URL 前面加上.快捷方式,例如:

  <form action="{{ url_for('.do_this') }}" method="POST">

推荐阅读