一尘不染

如何使用Flask-Security注册视图?

flask

有没有人使用Flask-Security扩展名进行身份验证?如何获得注册视图?

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

我指的是上面的链接。

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

我不想扩展默认类,我只想将默认注册视图包装在我的网站布局中,所以我这样做了。

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

我收到以下错误?

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

阅读 586

收藏
2020-04-08

共1个答案

一尘不染

你无需创建视图。Flask-Security中包含一个默认值。你只需要在flask应用程序配置中启用它:

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

这样,“ / register”路由应该起作用。
如果需要,还有另一个配置值可以更改URL:

app.config['SECURITY_REGISTER_URL'] = '/create_account'
2020-04-08