开发者

Flask wtforms 'The view function did not return a valid response'

I am having issues with my flask login form. When I run on local host I get this error.

TypeError: The view function did not return a valid response. The return type must be a string, dict, list, tuple with headers or status, Response instance, or WSGI callable, but it was a LoginForm.

What am I doing wrong? please help

Here is my .py file

from flask import Flask, render_template
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
fro开发者_Python百科m wtforms.validators import DataRequired

#Create Flask Instance
app = Flask(__name__)
app.config['SECRET_KEY'] = "AAAAA"

#Create route decorator
@app.route('/')

#Create a Form Class
class LoginForm(FlaskForm):
    user = StringField("Enter Your Username", validators=[DataRequired()] )
    password = StringField("Enter Your Password", validators=[DataRequired()] )
    submit = SubmitField("Submit")

#Create Login Page
@app.route('/login', methods=['GET', 'POST'])
def login():
    user = None
    password = None
    form = LoginForm()
    #Validate Form
    if form.validate_on_submit():
        user = form.user.data
        password = form.password.data
        form.password.data = ''
        form.user.data = ''

    return render_template("login.html", user = user, password = password, form = form)

if __name__ == '__main__':
    app.run(debug=True)

And here us my html form

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Log In page to the zoo</title>
    </head>
    <body>
        <h1>Welcome to our zoo</h1>
        <br>
        <p>Please fill in your credentials</p>
        <form method="POST" action="/login.py">
            Username: <input type="text" name="username" required>
            Password: <input type="password" name="password" required>
            <input type="submit">
        </form>
        <a href="{{url_for('register')}}">Create a new account</a>
    </body>
</html>

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜