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>
精彩评论