Я пишу сценарий, чтобы собрать электронные письма тех пользователей, которые не получили электронное письмо с подтверждением, и повторно отправить его им. Очевидно, что сценарий работает вне контекста приложения flask. Я хотел бы использовать url_for (), но не могу понять.
def resend(self, csv_path):
self.ctx.push()
with open(csv_path) as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
email = row[0]
url_token = AccountAdmin.generate_confirmation_token(email)
confirm_url = url_for('confirm_email', token=url_token, _external=True)
...
self.ctx.pop()
Первое, что мне нужно было сделать, это установить SERVER_NAME в config. Но затем я получаю это сообщение об ошибке:
werkzeug.routing.BuildError: не удалось создать URL-адрес для конечной точки «confirm_email» со значениями [«токен»]. Вы имели в виду stati c вместо этого?
Вот как это определено, но я не думаю, что он может это даже найти, потому что он не регистрируется при запуске как скрипт:
app.add_url_rule('/v5/confirm_email/<token>', view_func=ConfirmEmailV5.as_view('confirm_email'))
Есть ли способ спасти url_for () или мне нужно создать свой собственный url? Спасибо