flask-registration
flask-registration copied to clipboard
url_for failure
Hi, I've been trying to implement the "User Registration Email Confirmation" module in your project but i keep getting this error: werkzeug.routing.BuildError: Could not build url for endpoint 'admin.confirm_email'. Did you forget to specify values ['token']?
Below are the functions: `# Register @admin.route('/register', methods=['GET', 'POST']) def register__(): title = 'Register' form = RegistrationForm(request.form)
if form.validate_on_submit():
user = User(email=form.email__.data,
password=form.password__.data,
first_name=form.first_name__.data,
last_name=form.last_name__.data,
confirmed=False)
db.session.add(user)
db.session.commit()
token__ = generate_confirmation_token(user.email)
confirm_url = url_for('admin.confirm_email', token=token__, _external=True)
html = render_template('activate.html',confirm_url=confirm_url)
subject = 'Please confirm your email'
send_email(user.email, subject, html)
login_user(user)
flash("Registration is Successful!\nA confirmation email has been sent via email","success")
return redirect(url_for("admin.unconfirmed"))
return render_template('registration.html', form=form, title=title)
Email Confirmation
@admin.route('/confirm/
email = confirm_token(token)
user = User.query.filter_by(email=current_user.email).first_or_404()
if user.email == email:
user.confirmed = True
user.confirmed_on = datetime.datetime.now()
db.session.add(user)
db.session.commit()
flash('You have confirmed your account. Thanks!', 'success')
else:
flash('The confirmation link is invalid or has expired.', 'danger')
return redirect(url_for('report.homepage'))
`