python - 在电子邮件链接中传递给 url_for 的变量不起作用
问题描述
我正在为我的烧瓶应用程序设置注册功能。当用户请求注册时,我会向我的管理员帐户发送一封电子邮件,并希望批准或拒绝他们的请求。
我发邮件的时候,把注册表中给出的用户名、邮箱和密码传入html,就可以显示了。但是,当我尝试在使用“url_for”创建的链接中移动这些变量时,它们是无法获得的。
这是我的管理员帐户收到的电子邮件:
<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', '')
推荐阅读
- r - 为什么我的 knitr::kable 表格在编织到 word 后不显示?
- javascript - 常量 {class: clazz} = 参数;
- ocaml - Ocaml utop 不(但确实)识别 Big_int
- reactjs - Boostrap 导航栏项目
- highcharts - Highcharts Sunburst dodrilldown
- mysql - Mysql cli流到文件
- ms-access - 从记录列表中选择最近的日期
- c# - 如果没有并发使用锁,锁定是否会产生开销?
- powershell - Powershell 将 Windows 远程连接到 Linux
- python-3.x - PyAutoGui如何写特殊字符