【发布时间】:2015-05-28 08:47:31
【问题描述】:
**与建议的重复不同,我的错误源于原始代码session['message']=request.form['message'] 中缺少以下行,而建议的重复中缺少render_template 组件`
我正在尝试使用 Flask 创建用户会话,我不关心身份验证。我只想要一个他们输入姓名的页面,然后将他们重定向到主页。我尝试按照this link here 中的示例进行操作,但我得到了werkzeug.routing.BuildError。总结一下我的python应用是:
from flask import Flask, render_template
from flask import request, session, url_for,abort,redirect
app = Flask(__name__)
app.config['SECRET_KEY'] = 'F34TF$($e34D';
@app.route('/')
def home():
return render_template('index.html')
@app.route('/signup', methods=['POST'])
def signup():
session['username'] = request.form['username']
session['message']=request.form['message']
return redirect(url_for('message'))
@app.route("/message")
def message():
return render_template("message.html")
if __name__ == '__main__':
app.run(debug=True)
而index.html 是:
{% extends "layout.html" %}
{% block content %}
<h1>Say something</h1>
<form method="post" action="{{ url_for('signup') }}">
<p><label>Username:</label> <input type="text" name="username" required></p>
<p><button type="submit">Send</button></p>
</form>
{% endblock %}
layout.html 是:
<!doctype html>
<html lang="en">
<head>
<title>Say somthing</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
【问题讨论】:
-
**与建议重复的差异,我的错误源于原始代码会话中缺少以下行 ['message']=request.form['message'] 而在建议的重复中是缺少 render_template 组件`
-
这是一个简单的用户错误,对本网站没有多大贡献。将其标记为重复也会将其链接到另一个类似的问题。