bas*_*ner 2 python flask cloud9-ide cloud9
我遇到一个问题,即闪现消息未显示重定向之前设置的消息。我创建了一个简单的项目来重现该问题。无论是否有 SERVER_NAME 配置文件,重定向闪现消息都不会显示,但常规闪现消息始终会显示。
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)
Run Code Online (Sandbox Code Playgroud)
和模板:
{% for message in get_flashed_messages() %}
{{ message }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
更新
我尝试使用 localhost 而不是通过 cloud9 界面获得的域名从命令行调用此函数。而且效果很好。
$ wget -q -O - "$@" http://localhost:8080/flash
This is a redirect test flash
This is a regular test flash
Run Code Online (Sandbox Code Playgroud)
我已将 SERVER_NAME 变量设置为正确的名称,但它仍然不起作用。
事实证明该问题与 SERVER_NAME 有关。它不应包含子域名。
将配置更改为以下内容使其可以与 Cloud9 域名一起使用:
class TestConfig:
DEBUG = True
SERVER_NAME = 'project-username.c9users.io'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3350 次 |
| 最近记录: |