在烧瓶中创建了一个基本的登录表单。索引页面呈现得很好,但是 /login 不呈现任何形式。也没有出现错误。[返回 200 响应]
我的 forms.py 是:
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField, BooleanField, SubmitField
from wtforms.validators import DataRequired
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
remember_me = BooleanField('Remember Me')
submit = SubmitField('Sign In')
我的 routes.py 是:
from flask import render_template, flash, redirect, url_for from app import app from app.forms import LoginForm
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html', title='Home')
@app.route('/login')
def login():
form = LoginForm()
#return render_template('index.html', title='Home')
return render_template('login.html', title='Sign In', form=form)
我的表格模板是:
{% extends "base.html" %}
{% block content %}
<h1>Sign In</h1>
<form action="" method="post" novalidate>
<!---{{ form.hidden_tag() }}-->
<p>
{{ form.username.label }}<br>
{{ form.username(size=32) }}
</p>
<p>
{{ form.password.label }}<br>
{{ form.password(size=32) }}
</p>
<p>{{ form.remember_me() }} {{ form.remember_me.label }}</p>
<p>{{ form.submit() }}</p>
</form>
{% endblock %}
上面模板扩展的索引库被渲染但没有表单:
终端输出:
在 chrome、safari 和 firefox 上试过这个。