所以我有一个简单的网络应用程序,允许管理员为用户创建帐户(这个过程是必要的)。因此,我有一个用户管理页面,管理员帐户可以将新用户添加到系统中。我设法将WTForms / Flask-Security表单添加到一个简单的模式中:
no | date
--------------------------------
1 | 2015-03-17 00:00:00.000
1 | 2015-03-17 00:00:00.000
1 | 2015-03-17 00:00:00.000
2 | 2015-03-01 00:00:00.000
当我输入新的用户名和密码时,我只是被重定向到<div class="modal-content m-b-20">
<h4>add new user</h4>
<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>
</div>
。我可以在Firefox网络开发工具的网络标签中看到/
请求得到POST
响应。
由于flask-security在登录过程中负责数据库请求(我使用sqlite),我希望它也能自动将它们添加到数据库进行注册。但是,注册后没有添加任何条目。我尝试手动捕获 302 FOUND
请求,但不管怎样,以下代码都不会被调用,即使表单POST
的目标是action
。
/register
我不知道如何进一步调试这个或我做错了什么。也许这是一个问题,因为我试图将帐户注册为已登录的用户?
编辑:好的,在完全禁用@APP.route('/register', methods=['GET', 'POST'])
@login_required
@roles_required('admin')
def register():
print('asdf')
后,我现在能够通过我的WTForms模式注册用户。这意味着主要问题似乎是我已经以管理员用户身份登录。有人知道如何以登录用户身份启用注册吗?