我找不到URL我使用Flask render_template方法

时间:2017-10-28 19:06:28

标签: python flask jinja2

我正在编写一个使用Flask作为后端框架管理表单的应用程序。

当我正确填写表单(用户名和密码)中的数据时,而不是返回'Form sucessfully submitted'的程序,我收到以下错误:

未找到

在服务器上找不到请求的网址。如果您手动输入了网址,请检查您的拼写,然后重试。

为什么会这样?

注意1:我在模板目录中放置了一个HTML文件,因此不会导致错误

注意事项2:我在这里只写了与此问题相关的代码

以下是代码:

1)application.py

from flask import Flask, render_template, redirect, url_for
from flask_wtf import FlaskForm
from wtforms import StringField, PasswordField
from wtforms.validators import InputRequired, Email, Length, AnyOf
from flask_bootstrap import Bootstrap

app = Flask(__name__)

Bootstrap(app)
app.config['SECRET_KEY'] = 'somePassword'

class LoginForm(FlaskForm):
    username = StringField('username', validators=[InputRequired(), Email(message='I don\'t like your email.')])
    password = PasswordField('password', validators=[InputRequired(), Length(min=5, max=10), AnyOf(['secret', 'password'])])

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        return 'Form sucessfully submitted'
    return render_template('loginForm1.html', form=form)

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

2)loginForm1.html

{% extends "bootstrap/base.html" %}
{% import "bootstrap/wtf.html" as wtf %}

{% block title %}
WTForms
{% endblock %}

{% block content %}
<div class="container">
    <form method="POST" action="/">
        <dl>
            {{ wtf.quick_form(form)}}
            <input type="submit" value="Login" class="btn btn-info">
        </dl>
    </form>
</div>
{% endblock %}

1 个答案:

答案 0 :(得分:3)

您已将路线定义为/login,但您的表单已过帐到/