我想创建一个Flask身份验证,但是我不想设置寄存器并登录其他页面,而是在同一页面上。注册/登录的链接位于该网站所有页面上出现的导航栏中,当我单击其中的一个时,我希望打开一个模式,让您从此处进行注册/登录,而不是切换到另一个页。我怎样才能做到这一点?这是我的代码:
@app.route("/register", methods=['GET', 'POST'])
def register():
form = RegistrationForm()
return render_template('home.html', form=form)
和html:
<a href="/register" class="modal-trigger" data-target="register-
modal">Register</a></li>
<div id="register-modal" class="modal">
<div class="modal-content">
<h4>Register</h4>
<div class="row">
<form class="col s12" method="POST" action="">
{{ form.hidden_tag() }}
<div class="row modal-form-row">
<div class="input-field col s12">
{{ form.username(class="validate") }}
{{ form.username.label() }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form.email(class="validate") }}
{{ form.email.label() }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form.password(class="validate") }}
{{ form.password.label() }}
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{ form.confirm_password(class="validate") }}
{{ form.confirm_password.label() }}
</div>
</div>
</form>
</div>
</div>
<div class="modal-footer">
<small><a href="#">Already have an account?</a></small>
{{ form.submit(class="modal-action modal-close waves-effect
waves-green btn-flat") }}
</div>
</div>
我正确地导入了我需要的所有东西,但这给了我一个错误。
jinja2.exceptions.UndefinedError: 'form' is undefined
有人知道我如何通过模式进行注册而不切换页面和不使用ajax吗? 对不起,英语不好。