2017-10-28 175 views
0

我正在編寫一個應用程序來管理使用Flask作爲後端框架的表單。我找不到URL我使用Flask render_template方法

當我填寫表格(用戶名和密碼)正確的數據,而不是程序返回'Form sucessfully submitted',我得到以下錯誤:

未找到

的請求的URL沒有發現在服務器上。如果您手動輸入網址,請檢查拼寫並重試。

爲什麼會這樣呢?

注意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 %} 

回答

3

您已經定義的路由作爲/login但你的形式張貼到/

+0

我現在檢查了這一點,你的觀察是正確的。 現在它工作。 –