在电子邮件 link 中传递给 url_for 的变量不起作用

Variables passed to url_for within an email link not working

我正在为我的烧瓶应用程序设置注册功能。当用户请求注册时,我会向我的管理员帐户发送一封电子邮件,并希望批准或拒绝他们的请求。

当我发邮件的时候,注册表给的用户名,邮箱和密码都传入html,可以显示了。但是,当我尝试在使用 'url_for' 创建的 link 中移动这些变量时,它们是无法获得的。

这是我的管理员帐户收到的电子邮件:

<p>{{ form.username.data }} has requested registration authorization.</p>
<p> Their information is as follows,</p>
<p>Username: {{ form.username.data }}</p>
<p>Email: {{ form.email.data }}</p>
<p>Password: {{ form.password.data }}</p>
<p>
  To register this user:
  <a href="{{ url_for('auth.register_user', username=form.username.data,
             email=form.email.data, password=form.password.data, _external=True) }}">
    click here.
  </a>
</p>
<p>-ADCo Inventory</p>

用户名、邮箱和密码都在这里正确显示。 这是 auth.register_user html,我只是暂时尝试显示用户名和密码,这是行不通的。

{% extends 'base.html.j2' %}

{% block content %}
<h2> Register {{ username }}</h2>
<h2>pass: {{ password }}</h2>

{% endblock %}

这里是auth.register_user的路线,如果有帮助的话:

@auth_bp.route('/register_user', methods=['GET', 'POST'])
def register_user():

    form = RegistrationForm()

    return render_template('register_user.html.j2', form=form)

您已经像下面这样通过 get 请求传递了数据:

<a href="{{ url_for('auth.register_user', username=form.username.data,
             email=form.email.data, password=form.password.data, _external=True) }}">

例如,要访问用户名,您需要使用 request.args,如下所示:

username = request.args.get('username', '')