嗨,我正在学习烧瓶,我尝试做一些小事,但我没有得到我的登录页面的视图
我的主要文件(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
答案 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。