¿Cómo utilizar la vista de registro Flask-Security?

¿Alguien ha usado Flask-Security extensión Flask-Security para la autenticación? ¿Cómo consigo la vista de registro para trabajar?

http://packages.python.org/Flask-Security/customizing.html

Me refiero al enlace de arriba.

  @app.route('/register', methods=['GET']) def register(): return render_template('security/register_user.html') 

No quiero extender la clase predeterminada, solo quiero ajustar la vista de registro predeterminada en el diseño de mi sitio, así que hice esto.

 {% extends "layout.html" %} {% block title %}upload{% endblock %} {% block body %} {% from "security/_macros.html" import render_field_with_errors, render_field %} {% include "security/_messages.html" %} 

Register

{{ register_user_form.hidden_tag() }} {{ render_field_with_errors(register_user_form.email) }} {{ render_field_with_errors(register_user_form.password) }} {% if register_user_form.password_confirm %} {{ render_field_with_errors(register_user_form.password_confirm) }} {% endif %} {{ render_field(register_user_form.submit) }} {% include "security/_menu.html" %} {% endblock %}

¿Y estoy recibiendo el siguiente error?

 werkzeug.routing.BuildError BuildError: ('security.register', {}, None) 

No necesitas crear la vista. Uno predeterminado está incluido en Flask-Security. Solo debes habilitarlo en la configuración de la aplicación del matraz:

 app = Flask(__name__) app.config['SECURITY_REGISTERABLE'] = True 

Con esto, la ruta ‘/ register’ debería funcionar.
Hay otro valor de configuración para cambiar la URL si lo desea:

 app.config['SECURITY_REGISTER_URL'] = '/create_account' 

Otra información de configuración de Flask-Security se puede encontrar aquí: http://pythonhosted.org/Flask-Security/configuration.html

Realmente no he usado Flask-Security pero Builderror se refiere al hecho de que Flask no puede enlazar la vista de security.register a una URL. Seguridad es el nombre del plano. Así que puedo sugerir que intente llamar a la vista de la siguiente manera. En lugar de app.route, use security.route.

 @security.route('/register', methods=['GET']) def register(): return render_template('security/register_user.html')