Python 重定向后烧瓶闪光灯不工作
我遇到了一个问题,flash消息没有显示重定向前设置的消息。我创建了一个简单的项目来重现这个问题。无论是否带有服务器名称配置文件,重定向闪存消息都不会显示,但常规闪存消息始终会显示Python 重定向后烧瓶闪光灯不工作,python,flask,cloud9-ide,cloud9,Python,Flask,Cloud9 Ide,Cloud9,我遇到了一个问题,flash消息没有显示重定向前设置的消息。我创建了一个简单的项目来重现这个问题。无论是否带有服务器名称配置文件,重定向闪存消息都不会显示,但常规闪存消息始终会显示 import sys import os.path from flask import Flask, flash, redirect, render_template, url_for class TestConfig: DEBUG = True SERVER_NAME = 'project-u
import sys
import os.path
from flask import Flask, flash, redirect, render_template, url_for
class TestConfig:
DEBUG = True
SERVER_NAME = 'project-username.c9users.io'
app = Flask(__name__)
app.secret_key = 'my_secret_key'
@app.route('/')
def index():
flash('This is a regular test flash')
return render_template('test.html')
@app.route('/flash')
def flash_it():
flash('This is a redirect test flash')
return redirect(url_for('index'))
app.run(host='0.0.0.0', port=8080)
以及模板:
{% for message in get_flashed_messages() %}
{{ message }}
{% endfor %}
更新
我试图使用localhost从命令行调用它,而不是通过cloud9接口使用域名。而且效果很好
$ wget -q -O - "$@" http://localhost:8080/flash
This is a redirect test flash
This is a regular test flash
我已将服务器名称变量设置为正确的名称,但它仍然不起作用。问题原来与服务器名称有关。它不应该包含子域名 将配置更改为以下可使其与Cloud9域名一起工作:
class TestConfig:
DEBUG = True
SERVER_NAME = 'project-username.c9users.io'
我准确地复制/粘贴了您的代码和模板,当我转到
localhost:8080/flash
时,两个闪光灯都出现了。您正在使用什么版本的Python,并且正在访问/flash
?这是Python 3.4.3的一部分。因为你的评论,我用2.7.6创建了另一个virtualenv,并且有同样的问题。这是0.10.1号烧瓶。是的,我正在访问/flash。结果发现它与服务器名有关。更新了原来的帖子。