没有蓝图fi的

2024-04-19 05:09:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我已将所有URL存储在一个位置,以便于查找路由:

from main import app 
from main import views as main
from auth import views as auth

METHODS = ['GET', 'POST']

app.add_url_rule('/',
                 view_func=main.index,
                 methods=METHODS)

# Auth & Registration
app.add_url_rule('/login',
                 view_func=auth.login,
                methods=METHODS)

app.add_url_rule('/register',
                 view_func=auth.index,
                 methods=METHODS)

app.add_url_rule('/forgot_password',
                 view_func=auth.forgot_password,
                 methods=METHODS)

因此,以下工作:

redirect(url_for('login'))

但是,如果我在两个不同的包中使用相同的方法,我可以执行以下操作:

redirect(url_for('auth.index'))
redirect(url_for('main.index'))

或者我只能用蓝图?你知道吗


Tags: fromimportauthviewaddappurlindex
1条回答
网友
1楼 · 发布于 2024-04-19 05:09:46

add_url_rule的一个输入是端点,您将把它传递给url_for。因此,如果您查看documentation,您将看到第二个(非关键字)参数是结束点。默认情况下,它将其设置为作为view_func传递的函数的名称。你知道吗

app.add_url_rule('/register', 'auth.index', view_func=auth.index, methods=METHODS)

也可以将view_func作为位置参数传递

app.add_url_rule('/register', 'auth.index', auth.index, methods=METHODS)

相关问题 更多 >