python - 我不明白为什么我的 Flask 代码没有连接到我的 HTTP 方法
问题描述
这是我的 Flask 代码,它应该打开另一个页面,欢迎从我的 html 代码登录的用户
from flask import Flask, redirect, url_for, request,render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('login.html')
@app.route('/success/<name>')
def success(name):
return ('Welcome %s' % name)
@app.route('/login', methods = ['POST','GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return (redirect(url_for(' success' , name = user)))
else:
user = request.args.get('nm')
return (redirect(url_for('success', name = user)))
if __name__ == '__main__':
app. run(debug = True)
这是我的html代码
<html>
<body>
<form action="http://localhost:5000/login" method="post" >
<p>Enter Name: </p>
<p><input type = "text" name = "nm"/></p>
<p><input type = "submit" value="submit" /></p>
</form>
</body>
</html>
html代码在终端中给出了这个错误
ERROR:get_updates_processor.cc(258)] PostClientToServerMessage() 在 GetUpdates 期间失败,错误 2
解决方案
几个错误:
success
在 post 的情况下有一个额外的空间。__main__
没有正确对齐。
这是固定代码
from flask import Flask, redirect, url_for, request,render_template
app = Flask(__name__)
@app.route('/')
def home():
return render_template('login.html')
@app.route('/success/<name>')
def success(name):
return ('Welcome %s' % name)
@app.route('/login', methods = ['POST','GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return (redirect(url_for('success' , name = user)))
else:
user = request.args.get('nm')
return (redirect(url_for('success', name = user)))
if __name__ == '__main__':
app. run(debug = True)
推荐阅读
- sharepoint - 使用哪种电源自动化流程将带有附件的共享点列表元素复制到文件夹中,以保留所有元数据?
- sql - 如何为postgres中的列设置非空约束
- docker - OpenStack Victoria Zun 计算状态错误
- android - 为什么 Kotlin 的 mutableListOf() 返回空值
- c# - 正则表达式,匹配除 \r \n 之外的所有内容作为普通字符
- javascript - 正确导出带有 2 个图像的 fabric.Group toDataUrl()
- amazon-web-services - 在 AWS 上使用 Vaadin 并启用负载均衡器和推送时出现 Websocket 错误
- unity3d - Unity 中的换档操纵键值是什么?
- go - 自定义解组到一个类型而不是输入不同的类型
- typescript - 玩家在游戏完全出现之前移动人物