我对Flask和Web开发非常陌生,所以如果使用不正确的术语,请先深表歉意。
我正在尝试使用Python和Flask创建一个网页。为此,我具有以下内容:
from flask import Flask, request, render_template, redirect, url_for
from flask_assets import Environment, Bundle
app = Flask(__name__)
assets = Environment(app)
@app.route("/", methods=["GET", "POST"])
def login():
# Code to do the login
error = None
if request.method == 'POST':
# code checking the passwords. if correct:
return render_template('index.html')
# else:
# error
return render_template('login.html', error = error)
此代码段的作用是将login.html
加载到要求用户输入用户名和密码的位置,然后在检查用户名和密码是否正确后,再加载index.html
,以便用户可以上传他或她的数据。提交数据后,将调用一个新函数:
@app.route('/transform', methods=["POST"])
def transform():
f = request.files['data_file']
if not f:
return "No file"
# code
return render_template('message.html')
问题是,message.html
在本地transform
完成后会显示,但在服务器中却没有出现,尽管该功能最终会完成预期的功能。其他两个模板正确显示在本地和服务器中。难道是因为走了另一条路?
index.html
用action='\transform'
定义,以防提示。
为什么会发生这种情况?