不要获得烧瓶wtf的视图

时间:2018-01-13 08:20:09

标签: python flask flask-wtforms

嗨,我正在学习烧瓶,我尝试做一些小事,但我没有得到我的登录页面的视图

我的主要文件(app.py)

from flask import Flask, render_template
from form import LoginForm

app = Flask(__name__)
#app.config.from_object(Config)
app._static_folder = "/home/morten/Documents/MyWorkK/Work_flask/Environment/forum/templates/static"

@app.route('/')
@app.route('/index')
def index():
    return render_template("pages/index.html")


@app.route('/login')
def login():
    form = LoginForm()
    return render_template("pages/login.html", title="Sign In", form=form)

if __name__ == '__main__':
    app.secret_key = 'super secret key'
    app.config['SESSION_TYPE'] = 'filesystem'

    app.run(debug=True)

form.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 = StringField('Password', validators=[DataRequired])
    remember_me = BooleanField(True)
    submit = SubmitField('Sign In')

的login.html

{% extends 'layouts/default.html' %}

{% block body %}


    <h1>Sign In</h1>
    <form action="" method="post">

        <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>

我的浏览器中没有显示此页面我尝试在浏览器中查看源页面,当然不会出现login.html的代码。 我是烧瓶的先驱,我不知道出了什么问题。请帮忙 我正在学习本教程https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iii-web-forms

1 个答案:

答案 0 :(得分:1)

假设您正在遵循教程中的项目结构:

@app.route('/')
@app.route('/index')
def index():
    return render_template("index.html")


@app.route('/login')
def login():
    form = LoginForm()
    return render_template("login.html", title="Sign In", form=form)

templates目录是Flask应用程序中的默认目录。如果您希望模板位于pages目录中,就像原始代码一样,则可以将Flask对象传递给template_folder参数。

有关详细信息,请参阅API docs