Переменные, переданные в url_for по электронной почте, не работают - PullRequest
0 голосов
/ 29 мая 2019

Я настраиваю функцию регистрации для своего приложения для колб.Когда пользователь просит зарегистрироваться, я отправляю электронное письмо на свою учетную запись администратора и хотел бы одобрить или отклонить его запрос.

Когда я отправляю электронное письмо, имя пользователя, электронная почта и пароль, указанные в регистрационной форме, передаются в 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>

Имя пользователя, адрес электронной почты ипароль все отображается правильно здесь.И это html auth.register_user, где я просто пока пытаюсь показать имя пользователя и пароль, который не работает.

{% 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)

1 Ответ

1 голос
/ 29 мая 2019

Вы передали данные через запрос на получение, как показано ниже:

<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', '')
...