python - flask login
¿Cómo usar la vista de registro de Flask-Security? (2)
Realmente no he usado Flask-Security, pero el Builderror se refiere al hecho de que el matraz no puede vincular la vista security.register a una URL. la seguridad es el nombre del plan. Entonces, le sugiero 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'')
¿Alguien ha usado Flask-Security
extensión Flask-Security
para autenticación? ¿Cómo consigo que la vista de registro funcione?
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 lo hice.
{% extends "layout.html" %}
{% block title %}upload{% endblock %}
{% block body %}
{% from "security/_macros.html" import render_field_with_errors, render_field %}
{% include "security/_messages.html" %}
<h1>Register</h1>
<form action="{{ url_for_security(''register'') }}" method="POST" name="register_user_form">
{{ 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) }}
</form>
{% include "security/_menu.html" %}
{% endblock %}
¿Y obtengo el siguiente error?
werkzeug.routing.BuildError
BuildError: (''security.register'', {}, None)
No es necesario crear la vista. Un predeterminado está incluido en Flask-Security. Solo tiene que habilitarlo en la configuración de su aplicación de 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''
Puede encontrar otra información de configuración de Flask-Security aquí: http://pythonhosted.org/Flask-Security/configuration.html